ÿÿÿÿVOLUME1/ISSUE2/ADONAIS/INDEX.HTM Volume 1, Issue 2, Using Ovation Pro
An Ovation for the Ballet
I recently designed a brochure (what we call the 'programme' when talking to the printer) for Adonais Ballet Company's production of Carmen. To do this, I used the Company's own A7000+ computer and Ovation Pro to prepare the text layout. This Brochure had 24 pages, including inside and outside covers, with 12 pages of full colour and 12 of black and white
This article is a light account of the process of putting the brochure together, describing the choices that I made along the way and a giving bit of insight into what guided them.
The Brochure format
Before touching the computer, I talked to the printer about the cost of printing different sized brochures with different numbers of pages and paper weights
One of the most important issues was having the overall size manageable for customers in the theatre. An A4 size would have been too big, A5 was too small and would have required many more pages to fit everything in. The Company finally chose a page size that was the same width as A4, but square: 210mm by 210mm. This format had artistic appeal as well, which is always handy
The printer was also able to produce it without a great waste of paper from trimming edges, and could therefore still do it for a good price.
Layout or Content first?
This is a chicken or egg question sometimes, but in this case the content was pretty much decided. After much sketching and reallocating of page space the following was decided upon:
2 Pages for front and back cover.
1 page for an advert for the Arts Educational School, Tring
1 page for contents
4 pages on Company and Ballet background
4 pages on the characters in the ballet
2 centre pages for Carmen photos
2 Pages for the Synopsis
4 pages of performers' biographies
2 pages of pictures from previous productions
1 page for the Supporters Scheme
1 page for acknowledgments, advert and the Shoe Fund
Typefaces and Point Size
Before implementing this layout, I had to decide upon some other basics: typeface and the base point size. It's difficult to know how much space you're going to need for some text until you actually try to do the layout, so I took the raw text and dropped it into some pages just to see how much it filled up.
Readability is especially important since these brochures would get read in theatre houselights, which are notoriously dim. After examining the array of typefaces I had at my disposal I decided upon Oxford, since its letters have relatively fat strokes giving a bolder look.
The size for the text was set at 10pt but with a 75% horizontal scaling to help get everything in. I kept the default 20% leading. Compared to the previous season's programme this was a slight improvement on readability. I set up the baseline grid to 12pt (10pt typeface size plus the 20% leading).
I chose Europe for headings, but found that at 10pt it took up more vertical space on the line than Oxford. In order to use it next to a 10pt Oxford font I had to reduce its point size to 9.2pt.
The Baseline Grid
On most pages I used the multi-column format to increase readability. It shortens the line length so the reader doesn't loose their place as they scan from the end of one line to the start of the next.
One of the problems of a multi-column format is that the lines of text on one column don't always line up with the lines in the adjacent column, especially if there are headings in the text of a slightly larger size. If the lines in adjacent columns don't line up it looks wrong, or slightly messy.
The baseline grid is invisible in Ovation Pro (up to v2.56 anyway). When a style is locked to it, text in that style is always written along these invisible guides, ensuring that text in adjacent columns line up.
There are other ways of achieving the same effect: if you are extra clever about the point size, leading and paragraph spacing of the styles you are using you can get the text to stay aligned naturally, but this only works if the different text frames are aligned at the top.
Laying it out
Most of the text was already written and formed parts of other Ovation Pro documents. To start with I collected the content for each section into a separate document and stripped each of all its Styles and Effects.
First of all, I set out the two synopsis pages. I had a certain concept in mind allowed reading of the scenes and titles without having to read the whole text.
Having done that I started work on the 4 pages of Company and Ballet background. These were taken directly from the Press Release, which was already designed using oval frames around quotes and facts dotted through the text. I kept the same design idea, making all the ovals circular, and I also decided to make the text frame sides curved to follow interesting lines in the photographs next to them.
When I sat back and looked at the two sections I had laid out I realised that they were too different in approach to both go in the same brochure.
Back to square one
I scrapped the synopsis layout and started over, this time using the layout concepts from the adapted press release as a starting point. This may seem like a drastic action and a waste of several hours work, but it was definitely the right thing to do. The circular frames as titles became a strong and simple theme which I used again for the characters section.
Fitting more in
Sometimes the text just won't fit the layout, and it has a tendency to get longer as late items are squeezed in.
I've mentioned that I used a 75% horizontal scaling for the text. This is a very effective way of saving space, but it also alters the character of the typeface. Being aware of this I had decided to apply 75% to all the text in the brochure - in this way it would look consistent throughout.
Negative kerning is another space saver. This is where the gaps between each letter are reduced. I used Full Enhanced Justification for the Brochure's text and this function uses negative kerning to help fit words on a line. It also enlarges the gaps, with positive kerning, to help a few words fill a line. Because the shape of the letters are not changed this effect is less noticeable and therefore more useful for shoe-horning in the last word of a paragraph onto the end of a page.
Reducing the gap between lines, the leading, enables more lines to fit on the page. Excessive use of this can reduce readability. It also has a visual effect - the page looks darker because there is less white space between the lines, which can be offputting. This option is less useful if you're already using the baseline grid. If you want to change the leading of the whole document then you can change the separation of the baseline grid to match, otherwise you'll have to turn the lock to grid option off for the altered text.
I made extensive use of Ovation's frame shaping utilities to make the vertical sides of the frames into curves. These curves could be changed ever so slightly to enable the text to flow to a different length.
Another effect that was useful was the way picture frames repel text. Where a picture straddles two columns a small nudge can improve the flow around it creating space. This is especially true where there happens to be a number of long words next to the frame on one side.
House Style
Adonais's house style includes a whole range of idioms like date format, which is always 'Sunday 20th January 2000' and not 'Sunday January 20th 2000'.
Conforming to the house style is a never-ending job. It started at the first hint of layout and was being tinkered with at the last proof reading.
Other house rules are more like standards of literacy. The types of things that come under this heading are not repeating the same word in a sentence (eg: a descriptive word); ensuring that it's and its are never confused (lots of readers get instantly put off if that happens); and not being ambiguous, especially with objects and subjects of sentences (which is surprisingly easy to do).
Proofreading
It took two weeks to produce the whole programme. One week was spent putting it together, laying it out, fitting it in, padding it out and admiring the emerging document.
The second week was spent taking it apart word by word (literally) to ensure that every piece was accurate and worthy of inclusion. Each turn of phrase was examined for ambiguity and readability, and I doubt that any more than a quarter of the original text was left unaltered after close inspection.
Special attention was given to punctuation. The use of commas is practically a house style, and they are used almost exclusively to mimic where a pause would naturally occur if reading the text aloud.
I hope I have managed to convey the scale of the task of proofreading and editing. The result is very worthwhile - 6 weeks after completion and we have yet to find a single error in the eight and a half thousand words that comprise the brochure's text.
Be warned, it took several different people to spot all of the many errors that were there to begin with. A sole proof reader has a difficult job to compete with two or three people.
Sending it to the printer
I did not have a choice about which printer to use, so going to a RISC OS-aware printer was not an option. Deadlines in the entertainment industry are more fixed than most other situations. The premiere of Carmen was on Friday 11th February 2000, and there had to be brochures on sale at that performance at all costs. The performance was practically sold out before the brochure was even in draft format, every ticket sold being like a contract between one audience member and Adonais. Brochures at the ballet are like carrier bags at computer shows - you just can't survive without them!
I had e-mailed a PostScript file to the printer in advance to see if they could handle it, but no luck there. I've no doubt that if I could have spent a week working on it (or if RiScript had been released a month earlier) I would have been able to supply the printer in electronic form, but I didn't have a week to spare.
The method I used was to print all the text and simple vector graphics (frames and rules) at actual size on a 600dpi laser printer and sent that printout as camera ready artwork. All the photos and colour effects were then added by the printer.
The finished result, when inspected closely, has the tell-tale feathering and less than perfectly crisp edges to the letters that this process might be expected to produce. However, the tiny degradation in quality was a cost we were prepared to pay in order to ensure that the programme was printed in time. As mentioned above, the deadline was absolute.
For another type of publication a slight slip in the deadline might not matter - magazines sometimes come out late, product publicity can be delayed without serious repercussions.
I know there are many readers saying 'It would have been easy to do it via PostScript', and I'm sure you're right. But that's not the point. The point is it absolutely had to be done on time, and it was.
Brian O'Carroll - Adonais Ballet Compan
(http://www.pebblesculpt.co.uk/adonais/)
ÿÿÿÿVOLUME1/ISSUE2/AWK/INDEX.HTM Volume 1, Issue 2, Great awk: part 2
Great awk
Gavin Wraith continues his series on awk.
(If you missed the first part, there's a copy of the Mawk interpreter in the SOFTWARE directory on the CD-ROM.)
Records and Fields: Example 3
In the previous article I said that pattern-action statements
applied to the text line by line and that the variable
$n denoted the n-th word of the current line.
That was a deliberate oversimplification.
Adopting jargon from database tradition, we may say
that every textfile can be thought of as a sequence of
records, separated by a record-separator,
and that each record can be thought of as a sequence of
fields, separated by a field-separator.
Awk has a number of built in variables, among them
FS
input field-separator
RS
input record-separator
OFS
output field-separator
ORS
output record-separator
NF
number of fields in the current record
NR
number of records read so far
FNR
number of records read from current input file
FILENAME
pathname of current input file
The default value for both RS and ORS is the string '\n' - in other words,
a newline character. This means that by default
record is a line of text. The default value for FS and OFS is ' '
a single blank space. When FS takes this special value, input fields
are separated by blank spaces and/or tabs, and leading blank spaces
and tabs are ignored. So, in effect, fields are words.
The variable OFS determines how the comma symbol is interpreted
between the expressions following print.
The variable ORS determines the string that is output
automatically after a print statement
If RS is set to an empty string '' then input records are
separated by one or more blank lines, and field-separators
are either newlines or values given by FS. So the followin
settings:
BEGIN { RS = ""; FS = "\n"
would interpret paragraphs as records and individual line
as fields, in a 'standard' text file where paragraph breaks ar
blank lines.
Incidentally, as the example aboove shows, the semicolo
can be used to put many statements on the
same line. Unlike C, the semicolon is a statement separator,
not a statement terminator, which is why we don't need on
after FS = "\n". The sample fil
the following two line records:
J D Salinge
The Catcher in the Ry
M Peak
Gormenghas
J Cowper Powy
Wolf Solen
Himsel
Augustus Car
By applying them to the Authors file, can you explain the
difference in behaviour between the following awk programs
BEGIN { RS = "
FS = "\n
OFS = " wrote
{ print
BEGIN { RS = "
FS = "\n
OFS = " was written by
{ print $2,$1
Without those commas, OFS plays no role. print
by itself is equivalent to print $0, which implie
that you have to
write print "" to get a newline on its own. For fancier formatted
output you can use the printf and sprintf functions.
If you are used to C you will have no difficulty with these; if not, there'
not room to describe them here
To undo the effect of convert2 try the following awk program
# rever
BEGIN { FS = " was written by "
{ printf("%s\n%s\n\n", $2,$1)
Command Line Arguments and Files
Awk was devised for Unix in the days before Desktop
environments. Have a look at !mawk.Docs.manpage
for the complete specification of the command line arguments
for the executable file !mawk.bin.mawk. As awk
programs are often so short, awk was written to accept
'throwaway' programs inside single quotes on the command line to
the awk (in our case mawk) command.
In RISC OS, where path names are limited to 256 characters, thi
is not so convenient. Instead one must use the
-f <program pathname>
option. If you shift-doubleclick on the Obey file
!mawk.Apps.!RunAwk.!Run you wil
see in the last line how this is used when you drag a
textfile onto the !RunAwk icon. The contents of this
file are shown below:
| AW
if "<Awk$Prog>" = "" then echo No awk program chose
if "<Awk$Prog>" = "" then obe
if "%*0" = "" then obe
?leaf <Awk$Prog>
do taskwindow "mawk -f <Awk$Prog> %*0" -name <leaf>=>%0 -qui
There is nothing to stop you using the mawk command with
its full variety of command line options in an Obey file.
Furthermore, you can use the -f <program pathname>
option lots of times in the same command, which is useful
needs to be said here. The program does not run until
all m program files have been read in. Then all the function
definitions found in them are compiled, the built in variable
ARGC is given the value n and the built in array ARGV is
initialized so that ARGV[i] has the value
<file_i>. Then all the BEGIN actions
are grouped together and executed. Then the input files are
read in, in sequence, and finally the END actions are
grouped together and executed.
There is a useful trick for passing in values. The command
line arguments do not have to be the pathnames of input files.
For example, suppose you wanted <file_k> to specify
an output file. Then you would include in one of the programs a
line of the for
BEGIN { out = ARGV[k] ; ARGV[k] = ""
Setting the k-th element of ARGV to a null string will suppress
input of the k-th command line argument. The variable out
can then be used for output statements. This technique will be
demonstrated in the next example.
Invoicing customers: Example 4
Suppose you are the milkman. You want to add up the amount due
from customers and send out bills to them. The directory
Invoices holds a collection of files, how many and
what they are called is irrelevant, in each of which a record
is kept of milk deliveries, each record having the form
<customer> <amount>
Double-click on the Obey file Bill to create a directory of
bills to send out to customers
Shift-double-clicking on Bill will reveal its contents
| Bill customer
dir <Obey$Dir>
enumdir Invoices invlis
cdir Letter
mawk -f Total invlist Invoices Letter
delete invlis
The fifth line makes the awk program Total act on
the temporary file invlist, and passes the the input and
output directory names as ARGV[2] and ARGV[3].
Shift-double-clicking on Total will reveal
# Total up invoice
BEGIN { invoicesdirectory = ARGV[2
outdir = ARGV[3
ARGV[2] = ARGV[3] = "" # remove arg
sep = "." } # directory separator symbol
NF { list[$1] = "" } # read what invoice files there ar
END { for (file in list
invoice(invoicesdirectory sep file, account
for (customer in account
if ((owing = account[customer])) # no bill if zer
letter(outdir sep customer,customer,owing)
function invoice(f,a)
while ((getline < f) > 0
a[$1] = $
close(f)
function letter(out,customer,amount)
print "Milk Bill for",sysvar("Sys$Date") > ou
print "Dear",customer > ou
print "You owe", amount, "pence." > ou
print "Thank you." > ou
close(out)
One or two points need comment
In line 4, ARGV[2] = ARGV[3] = "" works because i
awk - as in C - assignment statements return values
The pattern NF in line 6 holds precisely for nonempty lines. The array list is indexed by the leaf names of files in Invoices and has uninteresting values
In lines 8 and 11 concatenation of strings is used, by simply
separating string expressions by blank spaces
Note how we assign the value of account[customer]
to the variable owing inside a condition This is a
typical C turn of phrase which avoids recomputing the
value. The '=' here is not a comparison (which would be '==') bu
an assignment, and the test is effectively whether or no
account[customer] is zero
In the definition of the function invoice() w
repeatedly read in a line of text from
the file f using the getline < operator and we
create the account[] array by passing it as a parameter to the
function
In the definition of the function letter() we see
the print statement redirected to the file signified by the variable out.
You can execute RISC OS commands from within an awk program
using the standard built in function system(), which is analogous
to Basic's OSCLI. The function sysvar() is not standard
it is an extension specially for RISC OS. It takes a string denoting a system variable as
argument and returns its value. See the file !mawk.Docs.Riscos
for a quick summary of these extensions.
This milk account example is, of course, just a skeleton. There are a
great many aspects of the model that we have left out or simplified.
Nevertheless, I hope you can see that by using Obey files and awk
programs together you can achieve a great deal with very few lines of code
Summary
In this article we have seen that awk parses text as a
sequence of records, made up of a sequence of fields.
Combining awk programs with Obey files lets us construct
more involved applications that use the full range of the command
line, whereas the click and drag approach given in the first article
merely restricts awk programs to the role of text filters.
In later articles we will look more closely at patterns and consider
how to use other applications to display output in tables or graphs.
Gavin Wraith (
ÿÿÿÿVOLUME1/ISSUE2/BEGINPRG/INDEX.HTM Volume 1, Issue 2, Programming for non-programmers
Programming for non-programmers
Part 2 - Variables
In the previous part I described the use of variables to hold data, but the subject was only touched upon at a
very superficial level. Because variables are such an important part of programming I shall take time now to
describe the different types and how they are used in more detail.
There are three main type of variable, which are:
Real
Integer
String
The first two, Real and Integer, are used to hold numbers. An alternative name for a Real variable is
Floating Point, and this gives a clue to the difference between them. A Real variable can hold a number
which has a decimal component, like 2.475. An Integer can only hold whole numbers. If you try to store a
number with a decimal part in an Integer variable then the decimal part will be lost. So, if you try to store
2.475 in an Integer variable it will be truncated to 2.
If Integers can only hold whole numbers and Reals can hold either whole numbers of decimals why bother
with Integers in Basic? The reasons are speed and accuracy. Computers don't naturally understand decimal
fractions, they work only in whole numbers. Quite a bit of 'massaging' has to be done to make them use
those strange, human, decimal numbers, so Integers are very much faster. They can also be more accurate as
nothing is lost in 'translating' them into a form that the computer can understand, as we shall see later.
It is therefore good programming technique to use Integer variables wherever possible. In fact, experienced
programmers use Integers almost exclusively, even when dealing with obvious decimal data like cash.
So, how do we differentiate between Real and Integer variables? In BBC Basic it's very simple. You just
add a '%' percentage sign to the end of the variable name.
To clarify: adding a % to the end of an existing Real variable name doesn't change it into an Integer, and
leaving the % off the end of an Integer doesn't change it into a Real. The % (or lack of it) is part of the
variable name. When it is created basic will allocate the type of storage required for an Integer if it has a %
on the end of the name and the space required for a Real if it doesn't. So:
number
number%
are two different variables.
So that you understand the difference use Edit to create the following short program. The example
programs have been included on the disc (in the you will continue to gain experience with creating and debugging programs.
REM Illustrate difference between Real and Intege
integer% = 1.8 + 2.
real = 1.8 + 2.
PRINT integer
PRINT rea
EN
You should be able to predict what will happen when you Run this program. The Integer variable 'rounds
down' the number but the Real stores it in full.
By now you should also have realised that we used only Real variables in the VAT calculator program
described in the last part, and the reason why.
Everybody needs string
The third type of variable is the String. This is nothing to do with the stuff used t
tie up packages, it means 'a string of characters', and it is a way of storing text.
In BBC Basic the maximum permitted length of a string is 255 characters. A string variable is defined and
recognised by having a '$' (dollar) terminating character. Strings are always enclosed in double quotes when
assigned. For example:
name$ = "Fred Smith
PRINT name
At this point it is worth spending a little more time to make sure you appreciate the difference between the
Real and Integer numerical variables and the string variable. Some people have trouble with this. The
former are numbers. They can be added together, subtracted, multiplied, in fact, have all sorts of
mathematical functions applied to them. The latter are words or letters. For example:
first% = 4
second% = 6
PRINT first% + second
would produce the result '106', but:
first$ = "42
second$ = "64
PRINT first$ + second
would produce the result '4264'.
In the first case the two numbers 4 and 6 are added together, in the second case the two 'words' 42 and 64
are added together. In fact, this 'adding together' of strings is more properly called concatenation. They're
joined together, not added together, the '+' sign is just a convenient symbol to use for the action.
In some variants of Basic where the distinction between numerical and string variables is not so clearly
defined in their names it is possible for inexperienced programmers to get thoroughly confused. For
example, with some types of basic which don't use the '$' you could use:
first = "42
When you do this these versions of Basic would automatically make 'first' a string variable, but from then
on you would have to remember that it was a string variable, it wouldn't be obvious from the variable name.
With BBC Basic the '$' suffix always makes the distinction clear, and if you try to assign the wrong sort of
data to a variable a 'Type mismatch' error will be produced.
Expressions and string/number conversion
It is part of the 'job description' of Basic that wherever you can use a variable or a constant, you can use an
expression. I have mentioned expressions before, and used them in earlier programs, but it's worth repeating
what they actually are.
An expression is anything which can be evaluated when the program is run. For example:
first% = 4 +
Here '4 + 5' is an expression. When the program is Run the expression '4 + 5' is evaluated and the result (9)
is assigned to the variable first%. There's nothing new in this, we've done it before, but from now on
things might get a little more complicated and it's a lot easier to understand what's happening with this
simple example, though the principle always remains the same.
Although in BBC Basic there are only the three main types of variable mentioned to consider, different
languages and variants of Basic may have others. For example, in BBC Basic an integer can be a positive or
negative number, with a range of from -2,147,483,648 to +2,147,483,647 (don't worry about why these
particular values, we'll get to that later in the series). A cardinal is a type of integer that can be only positive, and so it
can hold a bigger number.
Whatever form the variable takes, it will inevitably fall into one of two groups, it
will be a numerical variable or a string variable, and all languages will need some way to convert between
the two. We've already been doing this, or rather, allowing Basic to do it in the background. Every time a
program gets input from the keyboard we type a series of character, and Basic converts these (assuming they
are numerical characters) into a number. When the program needs to display the answer to a calculation it
must convert the number to a string of characters and display them.
The routines for doing this are called functions. Functions are pieces of code which performs certain actions
or calculations and 'return' a result. They may be pieces of code you write in your program to perform a
specific task or 'built in' to the language. In BBC Basic we can use a function rather like an expression:
variable = functio
What this does is call the function and assign the value returned by it to the variable. 'Call' is the term used
when a program leaves the main 'flow' of the program code and branches off to a sub-section, returning to
the same place in the main part of the program afterwards. Functions may have parameters passed to them
when they are called. Where a function is performing a conversion or calculation this will usually be
necessary as we are going to have to give the function the data we want it to use. In fact, a function is a sort
of miniature program itself, and should ideally be designed to be almost completely self contained.
The two functions incorporated into Basic which perform conversions between numbers and numeric
strings are VAL and STR$. VAL converts a number into a
string, and STR$ converts a string into a number.
Note that, as with Basic keywords, the names of these functions are in upper case. When you write your
own functions you can give them lower case names, just as with variables. The parameters passed to these
functions, as with all other functions, are enclosed in brackets after the name. For example:
number = VAL("142"
will assign the value 142 to the variable number
In a case like this, of course, it would be easier to just
use:
number = 14
but things aren't always that simple.
STR$ works the other way, for example:
number$ = STR$(142
You've probably already noticed it yourself, but the parameter passed to VAL is a string, so if it's a literal
string, as in the example, it's enclosed in double quotes. The parameter passed to STR$ is a number, so it
isn't.
One final point. As with almost everything else in Basic you can pass expressions to functions. For example:
number$ = STR$(64+32
would make number$ equal to the sum of 64 and 32, or "96".
Basic and line numbers
This might seem like a drastic change of subject, but bear with me, there's a reason for introducing it here
When you write a Basic program, every line is given a sequential number. This is used by Basic to keep
track of program execution, but, most of the time, it doesn't matter to you and you don't need to know what
these numbers are.
Look at the icon bar menu in Edit and follow 'BASIC options' and you will see that the first item on the
sub-menu is 'Strip line numbers'. By default this is 'ticked'. Click on this so it is no longer ticked and load a
Basic program into Edit. You will see that each line begins with a number. Depending upon what editor
was used to write the program these will either be sequential numbers, or in increments of 10. Now you've
seen them you can reset Edit to strip the line numbers. As a programmer they are of no interest to you
except for one special purpose.
The reason you need to know about line numbers is because sometimes things go wrong. If you have typed
in the programs described in the first article you may already have experienced this when you tried to run
them. The error messages probably weren't very helpful because you didn't know where to look for the
problem. So far the programs have been fairly short, but as they get bigger you will need a way to find out
not only what the problem is, but where to look for it.
Statement delimiters
So far all the examples I've given have had one Basic statement or instruction on a line. It is possible to put
more than one statement on a line, but you can't just join them up, one after the other. Just as in a written
language we use a full stop to indicate the end of one sentence and the start of another, so in Basic we use
the ':' (colon) character to indicate the end of one statement and the beginning of another. For example:
first% = 2
second% = 5
could be written as:
first% = 24 : second% = 5
As usual, the extra spaces are merely for clarity and are not necessary.
You can put several statements on a single line like this, although there are some potential problems that
we'll deal with later.
Error trapping
BBC Basic has its own 'default' error handling routine, which you've probably already seen. If something
is wrong you'll get a message like Mistake or Missing "" and the program will just quit. However, you
don't have to put up with this minimal information. It is possible to 'trap' errors, and make Basic go to your
own error handling routine where you can deal with the error.
Later we will use this to do things like stopping a program from crashing because you've just tried to save
hours of work to a disc which doesn't have enough room, but for the moment its main use is going to be to
tell us where in our program code the error has occurred so that the inevitable typing mistakes can be easily
found and corrected. Which, of course, is why I'm introducing the subject now before you get fed up trying
to find out where those 'Mistakes' actually are.
When an error occurs Basic stores the error message, the error number, and the program line where the error
occurred respectively in three special variables REPORT$, ERR and ERL. The error number is an
individual number assigned to every possible error and is mainly used to trap specific errors. We can't alter
or assign values to these variable, but we can 'read' them and so find out what's gone wrong.
The way we 'trap' an error is to use insert a line:
ON ERROR <do something>
where <do something> is whatever we want the program to do when it finds an error.
The ON ERROR isn't used in the context of switching something on, but could be interpreted as 'when you
encounter an error come here'. The code on the line after the ON ERROR statement is then executed
We can use this, together with what you have already learned, to create a simple 'error handler' that can be
used to help locate and report typing mistakes in our programs. Near the start of the program include the
line:
ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : EN
This looks a bit more complicated than some of the things described so far, but there's nothing new here
The first part is the ON ERROR statement which tells Basic to come to this line if it discovers an error.
Next there is the keyword PRINT, so you will know that what follows has to be something that can evaluate
to text so that it can be displayed on screen.
This is actually three separate items, using the '+' symbol to join them up into a single string The first is
REPORT$, and this will be the error message from Basic. The next is just a literal string, " at line ". This
leads to the third item, which takes the Basic variable ERL which tells us where the error occurred and
converts it to a numerical string. So, the line which appears on the screen will be in the form:
<error message> at line <line number>
After this there is a statement delimiter, which signals the end of the PRINT statement. Then comes the
keyword END which will terminate the program. You might not always want the program to terminate when
an error occurs, but here we are mainly concerned with trapping typing errors in the program, so there's no
point in trying to continue. If the keyword END was not added to the end of the line the program would
carry on with the next line and run into the same error all over again.
So how does it work in practice
Enter the following program:
REM Test error handle
first% = 2
second% = 4
sum% = first% + second
PRINT sum
EN
This is pretty simple stuff. It just assigns numbers to two variables, adds them together and puts the sum in a
third variable, then prints the result. But what would happen if we had made an error typing the word
second% in the 4th line and written:
REM Test error handle
first% = 2
second% = 4
sum% = first% + seconf
PRINT sum
EN
There obviously won't work, but without error trapping there will just be a message 'Unknown or missing
variable' which won't help us to track down where the mistake is.
So, let us introduce our own error trap and see if it's any better.
REM Test error handle
ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : EN
first% = 2
second% = 4
sum% = first% + seconf
PRINT sum
EN
Note that the error handler must be near the start of the program. If not, Basic won't 'know' about it and will
just use the default error handler
Now run the program again and you should see:
This is an improvement because it gives us the line where the error occurred, but there's one small
difficulty, it tell us the error was in line 50 and the program only has seven lines!
The reason for this is that I used Edit to write the program, and by default Edit
numbers Basic lines in
increments of 10. If you used something else to write your program where line numbers were incremented
in 1's you might have been told that the error occurred at line 5. This isn't much of a problem, because you
can just divide the line number by 10 and use the 'Goto line' function of the text edito
(in Edit press F5).
The CASE structure
In the first part of this series I described the use of the IF ... THEN ... ELSE structure to enable a program to
choose between different actions. This structure is fine when there are only one or two possible options, but
it could get extremely complicated if there are several. A much more elegant system is the CASE structure.
This can have a very large number of options, but only one of them will be selected and acted upon. It looks
like this:
CASE <variable> O
WHEN <something> : <do this>
WHEN <something> : <do this>
WHEN >something> : <do this>
ENDCAS
In addition there's another option, OTHERWISE, which will be used if none of the others fit, but this is
optional. So the complete structure becomes:
CASE <variable> O
WHEN <something> : <do this>
WHEN <something> : <do this>
WHEN >something> : <do this>
OTHERWISE : <do this>
ENDCAS
If you do not include the OTHERWISE option then, if the conditions don't match any of the other options,
nothing will happen.
It is important to note that there must be absolutely nothing on the first line after the word 'OF'. Even a
single space, which might pass unnoticed in your editor, will stop the structure from working correctly
The <variable< in the first line can be any type of variable, string or numeric, or even an expression. After
each WHEN keyword a value will be written, and this must be of the same type as the variable. The value
can be a literal value, or another variable. If the variable on the first line is equal to one of the values after
a WHEN then the code on the following line or lines up to the next WHEN (or OTHERWISE or
ENDCASE) is executed.
As soon as a match is found all the other options are ignored, so if <variable> happens to match more than
one option, only the first one found will count.
This is a very powerful structure, and is the essential programming tool for multiple-choice selection, so it's
worth spending a little more time on it. Type in the following program, and see if you can work out exactly
what it's going to do before you try it, and, more important, how it does it.
REM Demonstrate CASE structur
ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : EN
INPUT "Enter a number " number
CASE number% O
WHEN 1 : PRINT "You entered ONE
WHEN 2 : PRINT "You entered TWO
WHEN 3 : PRINT "You entered THREE
WHEN 4 : PRINT "You entered FOUR
WHEN 5 : PRINT "You entered FIVE
WHEN 6 : PRINT "You entered SIX
WHEN 7 : PRINT "You entered SEVEN
WHEN 8 : PRINT "You entered EIGHT
WHEN 9 : PRINT "You entered NINE
OTHERWISE : PRINT "I don't understand " + STR$(number%
ENDCAS
EN
You will notice that I've included the error handler line at the start of the program
We can now go back and have another look at the VAT calculator and see if we can improve it. The final
program was:
REM Program to add or subtract VAT from a pric
PRINT "Do you want to -
PRINT " 1. Add VAT to the net price
PRINT " 2. Calculate net price from VAT inclusive price
REPEA
INPUT "Please enter 1 or 2 " choic
UNTIL choice = 1 OR choice =
INPUT "Enter price " pric
IF choice=1 THEN result = price * 1.175 ELSE result = price / 1.17
PRINT resul
EN
As this uses a menu selection it could be made more elegant with a CASE structure, and we could also add
an option to quit the program.
REM Program to add or subtract VAT from a pric
ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : EN
REPEA
PRIN
PRINT "Do you want to -
PRINT " 1. Add VAT to the net price
PRINT " 2. Calculate net price from VAT inclusive price
PRINT " 3. Exit the program
INPUT "Please choose " choice
CASE choice% O
WHEN 1 : INPUT "Enter price " pric
result = price * 1.17
PRINT "Price with VAT is " resul
WHEN 2 : INPUT "Enter price " pric
result = price / 1.17
PRINT "Price without VAT is " resul
WHEN 3 : EN
OTHERWISE : PRINT "You must enter 1, 2 or 3
ENDCAS
UNTIL choice% =
EN
Don't worry about the indented lines. The extra spaces are ignored when the program is Run, but they help
to make it easier to 'read' and see how the various options operate.
The new program takes what you learned in the first part and adds some of the new things from this session.
Firstly there's the error handler. This will be included in all programs from now on because as they are
getting more complicated typing mistakes are bound to occur. Next the menu now has three items. You can
choose between adding or subtracting VAT or quitting the program. Placing the main section of the program
inside a REPEAT ... UNTIL loop means it will continue to operate until you decide to quit.
The OTHERWISE option in the CASE structure will just prompt the user to enter the correct number if
something other than 1, 2 or 3 is entered.
In the next instalment we'll make a few more improvements to the VAT calculator program and I'll describe
Alasdair Bailey finds out what's afoot up at the Castle.
(Note - click on the images to see a (much) larger version. Adjust-clic
on the Acorn to load into a new window.)
Castle Technology is based in the small Suffolk
town of Framlingham about thirty miles north of Ipswich.
Headed by Jack Lillingston and John Ballance, Castle
has been an important force in the Acorn market for
quite some time now. The company takes its name from
the village's medieval castle, built in the 13th century by
Hugh Bigod.
Following recent expansions, the company now occupies two
large industrial units and, unlike many computer companies,
its premises are nicely decorated and tidy.
This speaks volumes for the company and its management
nobody likes to give money to a disorganised-looking outfit.
A quick look around the office reveals only one lone
PC amongst a sea of Acorn machines. As with many
Acorn-dedicated companies, this lone PC is used solely
for accounts because of difficulties in findin
accountants able or willing to use the RISC OS alternative.
Castle is keen to stress that it is a completely
RISC OS dedicated company; having briefly ventured
into the PC hardware market in the early 90s, it found
the technical support necessary to be too time-consuming so soon gave up.
A bit of history
Traditionally, Castle has been renowned for its
SCSI and IDE interface products. Its colour adverts in
the Acorn press full of tantalisingly large hard drives and
high-res scanners are now the first port of call for many
thinking of upgrading. It's worth pointing out that these
products are still being fully supported even in the midst
of all this hardware manufacture.
In the past, the company has taken some considerabl
risks yet still turned a good profit. One notable
example of this was when it bravely brought two
lorry-loads of German A3000s back to the UK. These
machines that the rest of the world had forgotten were
promptly refurbished to UK spec and sold on at a
suitable mark-up.
As a company with a history of buying up Acorn's
discontinued stock and selling it on, it was only natural
that following October 1998's announcement, Castle
should work to continue the supply. The production side
of the business has now been going for just over a year.
Motherboards and cases are commissioned for
manufacture elsewhere in large numbers and shipped to
Castle for assembly.
The current range
At the time of writing, demand for both Risc PCs and
A7000+ machines is far outstripping supply. Castle is
currently about three weeks behind on orders; by the
time you read this the company should be back on track. This is
a very positive sign given that many thought the market
as it is now wouldn't see out '99.
Castle is currently doing a good job of marketing
and selling under the Acorn brand. Its base model -
the A7000 Odyssey - is basically an A7000+ as was
produced by Acorn but with marginally improved perfo
mance and Castle's own software bundle. The
company's Risc PC range also benefits from new hardwar
developments with all models now including the
new revision 'T' StrongARM processor with its improved
task-swapping capabilities.
Assembly of new machines takes place in a downstair
room in the main building. Case mouldings, PCBs
and other components are purchased in bulk and stored
in the warehousing unit across the way. At all stages in
production, Castle strives to maintain the high standard of
quality and reliability that was championed by Acorn. All
computers are tested, tested some more then tested
again with a long spell on the soak rack somewhere in
between.
Castle operates a strict stock control system across
the site using a network of RISC OS machines to
maintain a database of exactly what's in stock and
where it is. Practices such as these are essential now
that machines are being assembled on site; staff could
be left drinking coffee all afternoon if stocks of processor
unexpetantly ran dry at lunchtime.
Advancing the standard
Not wanting to rest on its laurels, Castle i
constantly improving its range of Acorn-branded systems.
The high-end Risc PC models now ship with DVD drives
although no drivers for the DVD facility are included.
When questioned about this inconsistency, Jack commented
"It's always a chicken and egg situation. There
was an opportunity to put DVD drives in and use them
as a CD reader which is what we've chosen to do." He
then continued to explain how hopefully, the presence of
plenty of DVD drives in the market will promote the
development of drivers for data DVD discs and perhaps
even MPEG hardware for playing movies from the
comfort of RISC OS.
Castle's machines now all ship with RISC OS 4 as
standard. It is good to see that Castle is supporting
RISCOS Ltd. in this respect after they stood accused of
going it alone in the days of the Steering group which
took care of negotiations after Acorn's withdrawal from
the market.
It's plain to see that once the sales of RiscPCs and
A7000s start to fall, Castle, as a commercial enterprise
will need a new product to stay alive. What form this
new product will take is still a mystery but given the
company's good relations with what was once Acorn,
some are suggesting that a re-awakening of the Phoebe
Risc PC II project may be on the cards.
Black Thursday
Understandably, Castle is remaining tight-lipped on
this subject. Any talk of new hardware will dent sales of
current models. Jack points out that Acorn sold only
minimal numbers of Risc PCs and A7000s once the
Phoebe project was widely publicised. This could well
have been one of the major contributing factors to the
axeing of the project. Those in charge at Acorn would
have gained an unduly bleak picture of the state of the
desktop market by looking at sales figures for the two
years leading up to the demise of the workstations
division.
When quizzed on whether he'd seen the events of
'Black Thursday' coming, Jack replied simply: "It came
as a hell of a surprise and a total shock". However, in
common with some others in the market, he had been
left slightly nervous after a meeting for dealers
fortnight prior to the event. At this meeting, Jack recounts
how a last ditch effort was made to raise funds for the
project.
Following Acorn's move to abandon its traditional
desktop market, Castle did not join the numerous other
dealers and developers who took part in the so-called
Steering group negotiations. Instead, as mentioned
earlier, they negotiated their own deal to continue the
supply of existing models. At the time, many condemne
Castle for acting in this way. Looking back,
with the gift of retrospect, it's a good job they did. Had
the steady supply of Acorn branded machines not been
maintained over the 14 months between Acorn leaving
and the RiscStation coming on stream, many would
have deserted the market.
Jack sees the existence of companies producing their
own RISC OS hardware as a good thing on the whole.
That said, he is quick to point out that Castle's Acorn
developed range still has its benefits: "you've got a wide
range of hardware add-ons that are already up and
running and widely available, all the software is 100%
compatible because that's what it was designed to run
on and the hardware is supported throughout the
industry.". Healthy competition between the companies
should keep all parties on their toes which is always a
good thing.
A new browser
One area of the RISC OS market where competition
has never really been an issue and development has
only occurred when it's been profitable is the WWW
browser niche. Castle intends (finally) to give users a good
browser which will grant them access to more of the
Internet than ever before. Its new browser, Oregano,
looks set to become a major player in the market with
proper support for JavaScript and FTP amongst other
things. Currently, Webster is the only fully supported
browser on the market. Although it has a good grasp of
JavaScript, it is fundamentally slow. Its faster counterpart
Fresco, is a very good browser but is sadly no
longer being updated at a rate which is acceptable to
most users.
This is where Oregano comes in. As a desktop
version of an NC OS browser developed by Oregan
Networks, it uses very little memory, is quick to render
pages and most importantly, will be maintained into the
future. The browser has been developed by Oregan for
a Korean customer and following a deal with Castle, it is
now being taken across to RISC OS. Most of the work
is going into making the browser more desktop-friendly
so, for example, it has been modified to use more than
one window and display an icon bar icon.
As can be seen from the screen grabs, Oregano is a
nicely-presented application with a somewhat unique
window layout. At the time of writing, the interface is still
very NC-oriented so takes a bit of getting used to. This
should be sorted out by release though.
Castle's primary reason for developing Oregano is to
provide it with a browser to be included with new
machines. "I think everybody these days expects to
have a good browser that's supported" commented
Jack. His sentiments will be shared by many others in
the market we suspect.
It's good to see a company which is willing to promote
software growth as well as its main line of business in
the hardware sector. Castle also works closely with
RISCOS Ltd. and seems keen to make sure its users
have a decent range of applications to run on their
machines rather than being left with a nice operating
system on stable hardware and not a lot else.
One interesting fact gleaned during the interview was
that sales of machines are split roughly by thirds.
Currently, one third of Castle's orders are from education
a third from home users and the rest from OEM
customers. It's interesting to see that the OEM market
(people such as SiPlan and Millipede) wich was largely
ignored by Acorn in favour of eductaion now represents
a third of all sales of its machines.
Jack has a clear view of what needs to be done in the
future: "I think the important thing is to maintain the
reliability which is our number one selling point: we must
be very careful that nothing moves us away from that."
Let's hope that Castle can continue to set the standard
for reliability into the future.
Alasdair Bailey
ÿÿÿÿVOLUME1/ISSUE2/DISC/INDEX.HTM Volume 1, Issue 2, Disc World
Disc World
What's also on this CD-ROM?
This CD-ROM contains a number of utilities and pieces of software to accompany the articles in the magazine.
Utilities
There are three utilities to help you read this disc (RISC OS users only):
A file-only copy of Fresco, to display the HTML. This will only run if you don't already have a copy of Fresco installed, so that it won't overwrite your cache
SparkPlug, which can be used to read the archived software on the disc
ArcFS, which can be used to read some of the archived software on the disc
Usenet archive
Also included on the disc in the USENET directory is an archive of the comp.sys.acorn.* newsgroups. These are stored in a special read-only version of Messenger Pro which will allow you to view the messages, but nothing more complicated. The archive is presented 'as is', and RISC World doesn't make any guarantee about the usefulness, relevance or acceptability of any information contained in it.
Other software
Several of the articles in the magazine have accompanying software - see the following for details:
ÿÿÿÿVOLUME1/ISSUE2/DOCCD/INDEX.HTM Volume 1, Issue 2, RISC OS PRMs on CD
RISC OS PRMs on CD
The Programmers' Reference Manuals are once again available on CD. Mark Smith sees whether any lessons have been learned from the last attempt.
Call me old fashioned, but I've always preferred paper manuals to disc-based documentation. Why? Well, when your screen is full of editor windows that you're using to design your work of art, compose your prose or code your masterpiece, surely the last thing you want to do is plonk your software or technical documentation in a window on top of what you're trying to work on
However, that said, documentation held in an electronic form has certain advantages over the paper variety, or at least it does in the majority of cases
Search facilities may help to locate what you're looking for faster
Hot links allow you to locate related information easily, without having to look it up in the index
You don't have to worry about keeping it open at the required page, especially if you're looking at several simultaneously
You don't have to clear a space on your desk to put it down
It's usually cheaper to buy, and certainly cheaper to mass produce
It saves space - a book shelf full of manuals can quite easily be held on a single CD
New CDs for old
Documentation on a CD is nothing new in the RISC OS world. After all, the 'Tekkie Disc' from Emerald Publishing has been around for a good few years and that has the RISC OS 3 PRMs on it, together with manuals for DDE, Desktop C, Assembler and BBC BASIC
So what about the new RISC OS PRM CD from RISC OS Ltd.? What does it provide that we don't already have
Well, the first point is that there is a wider selection of manuals. Not only do you get volumes 1 to 4 of the PRMs, but you also get volume 5a which covers the differences in RISC OS v3.5 and 3.6 against v3.1. You also get the User Guide, Timecode, Internet & Omniclient manuals as well as manuals that accompany Desktop C/C++ rather than the Desktop C release 4 ones supplied with the original Tekkie Disc
The next major improvement is the format in which the files are held. Whereas the Tekkie Disc uses a proprietary file format and librarian to view them (which isn't even StrongARM-compatible on the version that I have), RISC O
Ltd. has opted to provide the documentation in standard HTML and PDF formats. So why is this so important? Well, aside from being able to use your favourite browser to view the documentation, you don't even have to do it on your RISC OS machine. That means if you have a second non-RISC OS machine with its own monitor, you can neatly sidestep my initial objection, by using that to display the documentation whilst you dedicate the RISC OS machine to doing the work
Finally, at £30 (£25 for Foundation members), it's much cheaper than the original price of the Tekkie Disc, and certainly much cheaper than paper manuals
Better than paper?
So how does it shape up against the positive reasons that I listed above for using disc based documentation
Well, good use has been made of the ability to link between pages in the HTML version, you can obviously open multiple browser sessions on different pages and not have to worry about keep a paper manual open, and it's also clearly much cheaper and economical on space
Unfortunately, it falls down on the first point. Although most browsers will allow you to search within a page, there's no concept of a complete manual or set of manuals so you can't, say, search the entire PRMs for a particular piece of text. It's not a failing of the product, it's just simply not possible to provide searchability with HTML documentation without using additional software that may restrict the choice of browsers and/or prevent it being used on a non-Acorn platform
Using Fresco, a cut down version of which is supplied on the CD, access to the pages is quick and easy. In fact, this seems to be a very competent conversion of the paper manuals into HTML format, aside from one link which I came across that didn't work
But that's where the real limitations show. This is purely a conversion of the existing paper manuals and no more. There's no documentation on the differences in RISC OS 3.7, or more importantly 4.0 and even the RISC OS 3.5 and 3.6 differences are still out on their own in volume 5a, not integrated with the rest of the PRM in a logical fashion
As well as a cut down version of Fresco, there is also a public domain PDF viewer supplied. However, using this to access the PDF manuals seems inordinately slow, even on a StrongARM Risc PC and I couldn't get the PRM volume 1 file to load at all. Combined with the fact that some of the manuals aren't supplied in PDF format and there is no means of following reference links, I can't really imagine that many people will want to use the PDF versions over the HTML on a RISC OS machine unless you happen to have alternative PDF viewing software. Things improve somewhat when accessing them using xpdf on Linux. This is a great deal faster and although there is still no link mechanism for following references, it is possible to search an entire manual for some text which you cannot do with the HTML
Conclusion
So what's the final verdict? While it's a shame that we still have no documentation covering the additional and changed features in RISC OS 4, this is never-the-less a welcome alternative to those who wish to have access to the existing documentation, cheaply and easily
As for me, I will probably continue to use my paper manuals. But then, I've already paid for them and they are already occupying space on my bookshelf
Product details
Product:
Programmers Reference Manuals on CD
Supplier
RISCOS Lt
Price:
£25.53 + VAT (£30.00 inc or £25 inc to Foundation members)
While we all wait for what can seem like a thousand years for Cerilica Vantage, Richard Goodwin looks at iSV's supercharged version of Acorn's Draw.
(Click on the small images to load larger versions in a new window. Right-click to load them into a new window in most browsers).
DrawWorks Millennium is a somewhat schizophrenic package in many ways; despite taking its name from a graphics package, over half of the CD is given over to fonts, and a good deal of the rest of the disc is clip-art. Then there's the fact that the graphics package isn't really a package at all, it's a bolt-on to an existing program, although because this other program Acorn's Draw, there shouldn't be anyone without a copy. And as for the characters of Dr. Fonty and Mr. Clippy ... well, that's another story. So I hope you'll forgive me if it's a little difficult knowing where to begin.
Drawing
Let's start, however, with the package that gives the disc it's name - DrawWorks Millennium, or DWM for short. As with all the programs and resources in this package you can install to your hard drive or run straight from the CD. In fact, for technical reasons that are too tedious to go into here, I was running them from a CD-ROM drive in a completely separate machine over a network with very few problems, which bodes well for schools with networked resources (although the asking price is just for a single-use copy, so ask about a site license).
The programs here also run on any machine with 4MB of RAM, from RISC OS 3.1 upwards to a RISC OS 4 StrongARM machine, although obviously you should have at least a CD-ROM drive and probably a hard drive too. The version reviewed was v1.66; a new version is due out for the Wakefield show, and come with extras to do things like improve colour representation in RISC OS as a whole by improving colour dithering and anti-aliasing, but this version will be Risc PC only and 1.66 will be kept on the books for earlier machines.
All the manuals are in electronic format which is good from the point of view of keeping them together with the software, but you can only have one manual loaded at a time and of course there's the old chestnut of not being able to read them in the bath.
DrawWorks Bar
Running DWM also loads a copy of Draw, and by clicking on the Draw icon you get the standard window plus two new toolbars along the top - the lower bar adding new tools, and the upper allowing you to change to other sets of tools. The tools vary from the fairly useful to the pretty unique; for instance it has tools for altering the zoom factor or changing a font's size and colour, which are available in the unaltered version of Draw but require some navigation around the menu structure to find which can be a bore if you're experimenting; but it also has features like a very advanced colour selector which has menus of pantone-alike colours all listed and displayed for you, the ability to tint your images so that they look faded out, or cool tools like a drop-shadow maker, an outlining tool for creating roadmaps, or distortion tools for twisting and bending images. Although many of these effects can be duplicated using other separate programs or some hard slog in ArtWorks, having them all available from within Draw at this price is pretty good going.
The map generating and brightness adjusting tools provided by DrawWorks Millennium.
Two Draw files produced from DWM are included on the CD, the
However, there are some issues with the user interface that make using the tools less pleasurable than they could have been. Partly this is due to Draw itself, which can be a bit of a pain sometimes. Selecting an object from within a busy part of a picture has always been awkward, especially after having used ArtWorks for a few years. I mention this primarily because DWM's tools generally work on selected objects, and then unselect those objects after applying an effect. This means that you have to go through the process again every time you want to experiment
For the most part I can understand the part about having to select parts of an image to apply something to, but it gets a bit wearing sometimes to have an error box pop up all the time, especially for some tools like the print preview. You can emulate printing on, say, yellow paper which is a good thing, but surely if you're printing you're mainly going to be printing the whole page?
Other tools compound the confusion by reacting in an inconsistent manner - the tool to trace objects into roadmap-like thick outlines works in situ, but the drop shadow tool next to it requires you to save out a separate file first (even though you can 'save' it to the current Draw window). Importing foreign file formats is a good thing; howver, the importer says it can't import Draw files or Sprites - which are handled natively in Draw - which seems a little lazy when they could have been passed straight through to the main program. Also some of the toolbars are wider than the Draw window (when using A4 paper and/or smaller screen sizes) which requires a bit of scrolling to see all the tools; it's harder to say how this could have been implemented better, but it's not as easy as it might otherwise have been.
Case in point: one of the most pointless and annoying of tools is the 'insert named file' window; it's just a window with a beige text input box and an OK button, which doesn't accept drag-and-dropped files, and doesn't have a Cancel button or even a close icon on the title bar. It doesn't even close when Draw loses input focus - the import file window does, which I found annoying after trying to hunt through my messy Desktop for files, but you should really pick one model or the other and stick to it. After fiddling around for a while I had to click on the OK button and get an error box for my troubles
It's only a little thing, but it's a pointless tool (who types in filenames manually to load files?) which has been badly implemented in so many ways when it would have been easier to do it right (like not changing the default colours or switching off standard window furniture). It makes the learning curve of the program just that bit steeper for no real benefit, which is something to bear in mind in a classroom environment. A pity that it should mar some otherwise excellent tools.
Fonts
And so on to the fonts. The disc contains a program called Typo2100, which, as the second part of the name suggests (casting aside any jokes about a design package containing an obvious Typo), houses some 21 hundred typefaces. This compares favourably with other offerings - for instance, Zenta Multimedia's RISC OS Font Emporium has just 550 fonts, while Harry Decker's website (fonts.iconbar.com) had some 2,500 fonts when last I checked. However, Harry decker's site concentrates on having lots of different fonts with wildly differing levels of character set support, rather than a good solid collection of quality fonts in as many styles as possible as we have here. Grouped into 13 categories (Decorative, Script, SansSerif etc.), the disc comes with an excellent previewing program which shows a large body of text and some common characters to show the font off in its best light. This is quick as the previews are stored as sprites - it doesn't really matter about disc space when you're using a CD.
Although I say that it's an excellent program, it is marred by a completely style guide busting interface; having been on the receiving end of several e-mails in the past for minor infractions in the positioning of icons or menus in my own programs, I shudder to think what the same people would say if I inflicted this shiny yellow monstrosity on them. Many of the other applications on the CD are inflicted with the same lack of taste - Mr. Clippy the clipart manager is so bad (beige-yellow with cyan swirls) that I think that even the programmer was put off enough to add an option to switch it off, but no such luck here. All of this is particularly ironic given that they're part of a design package, you really have to look past the design and try to concentrate on the content.
The rather non-standard yellow and blue windows
If you don't find the font you want in Typo2100 then there are a collection of applications to help you design or modify your own. Although some of them intersect - Dr. Fonty offering much that can be found in the separate FontTrixPro for instance, although FontTrixPro is more automated - it's a good selection with some handy features. For instance, having downloaded some fonts from the aforementioned website it's sometimes off-putting to switch to a different font in, say, Impression, only to find that there's no lower case letters so most of your text vanishes. With Dr. Fonty a click or two of the mouse generates a 'small caps' version of the capital letters in the lower case area, which is pretty cool. Being an amateur font fan (I love to use them, I just can't be bothered to create my own) I find it much more enjoyable to modify someone else's fonts to fit my needs; there's even a program to suggest what font to use in a given situation, or match the fonts to their PostScript counterparts. A solid collection of resources then, representing good value for money
Dr. Fonty in action
Clip-art
The inclusion of clip-art on a CD usually brings out one of two reactions - it's either a useful collection of resources, or 'shovelware' (included only to fill up extra space). This selection does add something to the disc however, and is a good, varied mix of bitmap and vector format images from a variety of sources (Akalat, APDL, Fabis, Smart DTP, and Christopher Jarman).
Obviously it's possible that you might have acquired some of these images before (as with other parts of the CD), but going to multiple sources should keep the likelihood of this to a minimum so kudos there. Obviously I didn't have time to go through the whole 160MB of data, but a quick sample showed a good mix of JPEG format photographs, some Sprite format scans of engravings and postcards, and some Draw format vector images; the photographs especially were of excellent quality, very clear and properly cropped so there's no obvious borders from where they've been scanned from a 35mm slide as with some collections.
An example of the quality of the clipart
I've already touched on the rather dire default colour scheme of the clipart previewer Mr. Clippy, so I'll just warn you that it sings to you when you start it up. Yes, that's right, sings. It's amusing the first couple of times, but gets tired real fast and I can only imagine what it would be like with a whole classroom full of computers doing it. You can't turn it off, and as with all the programs on the disc you can't hurry up the loading banners by clicking on them or pressing keys. I suggest a little judicious pruning of the !Run file of these programs before letting them out into general circulation. The Windows-style help wizards that pop up at the start of many of the programs are less annoying though, especially as Eric Morcombe puts in a guest appearance now and again, and you can switch them off from the preferences window
If you think this is bad, wait until he starts singing!
Conclusion
So all in all, this is a fairly well-balanced collection of resources for the designer on a budget. Would I recommend this package to the serious designer over, say, the old workhorse of ArtWorks, or the up and coming Vantage? Well, no. The main package might add some fine bells and whistles, but in the end you're still stuck with the interface of Acorn's Draw, with all its annoyances in selecting items near other items and the like, and adds a few of its own.
If you have plenty of money and are serious about getting into design, you'd be better off with a proper design application, but to be honest I doubt that iSV are aiming at the professional market. Would I recommend it to someone on a budget who just wanted an all-round package of resources? With a few reservations on the interface design and so on (for some reason on my 40MB machine the memory allocation went a little screwy and the electronic manual sometimes ended up taking about 28MB of memory, DWM often snatching a further 2MB or more), then yes; some of the individual parts, such as the font collection or the colour handling and special effects of DWM are worth the admission price on their own, and would serve the needs of a hard up student or school quite well.
Product details
Product:
DrawWorks Millennium
Supplier
iSV Product
Price:
£40 + p&p (Site licence £80 + p&p)
Address:
86 Turnberry,
Home Farm
Bracknell
Berkshir
RG12 8Z
Tel:
(01344) 455769
WWW:
E-mail:
Richard Goodwin
ÿÿÿÿVOLUME1/ISSUE2/EDITOR/INDEX.HTM Volume 1, Issue 2, My World - the editor's view
My World
David Matthewman comments on recent developments in the market.
I'm writing this shortly before the Wakefield Show. Six years ago, at the then Harrogate show, Acorn launched the Risc PC 600. The top-spec machine had an ARM600 processor, 8MB of DRAM with 1MB of VRAM, a 400MB hard drive and RISC OS 3.5 - and I bought one
I still have it, and use it daily. It now has 24MB of DRAM, 2MB of VRAM, an 8GB hard drive, a 200MHz StrongARM processor and RISC OS 4, and is pretty close to being a top-of-the range machine. What's more, when Castle Technology's KINETIC Risc PC is launched at Wakefield, I'll be able to buy another upgrade card for the machine and upgrade it to the spec of one of Castle's new machines. That's pretty amazing for a six-year-old machine, and you won't find anything like it in the PC or Mac markets
Around four years ago, when the talk was all of Oracle saving the Acorn market by developing the NC, one of the expectations was that technology developed for the NC would filter back into the RISC OS market. That didn't really happen at the time, sadly, but now something has at last made the cross-over for our benefit. It's not from Oracle, but from Oregan Networking, who sells large quantities of NCs to clients in the Far East and has developed a web browser to run on them. The browser is called Oregano, and a RISC OS version is now being sold by Castle Technology
There'll be a detailed review of Oregano in the next issue, but the summary is 'Buy it!' It's a fantastic piece of software, stable, and well able to cope with most of the latest protocols used on the web. It wipes the floor with the opposition, and is being actively developed. I feel a little guilty for dismissing Webster XL which R-Comp and Andrew Pullan have been doggedly developing over the past two years when everyone else seemed to have abandoned the web browser market, but in all honesty Oregano is a far better browser
The big news outside the RISC OS market is the DoJ's verdict in the Microsoft case, where a company that had bundled its own web browser with its OS and bullied dealers into toeing the company line got into big trouble for anti-competitive practices. One striking thing is that this is more or less what Acorn did, but Acorn simply wasn't big enough for anyone much to care. A few people have suggested that the possible break-up of Microsoft is good news for RISC OS; I'd like to think that, but I honestly doubt it; I think it's at best neutral news. RISC OS is simply not a big enough player to benefit from any problems Microsoft is having; Apple and the Linux community are far better placed to benefit
Still, with Castle, RiscStation, Millipede and Microdigital pushing the envelope on new hardware, and with the holy grail of a decent web browser on our platform at last, who knows
Colophon
RISC World is published by David Holden of APDL and edited by David Matthewman
Contributors for the magazine submit their copy in a number of forms: HTML, plain text, Impression, Ovation or EasiWriter being the usual ones. The copy is passed through EasiWriter Pro+ and saved as HTML, then hand-finished using the HTML mode in Zap. A couple of Awk and Perl scripts are used to add standard formatting to the HTML
The HTML uses DTP-like tricks like table-based layouts and physical markup as little as possible, saving tables for the page heading, product details and (because Browse can't flow text around images and you asked for it) images. No style sheet is used, because currently no RISC OS browsers understand them, so the fonts and font sizes will be whatever is the default for your browser
There are two copies of the editorial copy in the CD-ROM, one intended for RISC OS machines and one for other OSs. The RISC OS area of the site uses sprites to display screenshots - these are stored as PNGs (not GIFs) on the other area of the site. Bitmap files are converted using Spr2Png, Png2Spr and InterGif. Original graphics are created in Photodesk, Draw and (ahem) CorelXARA for the PC
ÿÿÿÿVOLUME1/ISSUE2/FUNTEX/INDEX.HTM Volume 1, Issue 2, Fun with TeX
Having fun with TeX
Paul Webb shows that there's more to the TeX text processing language tha
meets the eye.
Despite its customary association with mathematics and science, the TeX document proccessing language has much to offer the more adventurous user. If you play games, design fonts or need to write documents in a language other than English then TeX could be for you. The TeX community has always been a very international one (see
Plain TeX speaks in tongues
Even without improvements designed to help with other languages, it is still possible to produce documents in a variety of languages which employ the Latin script by using nothing more than Plain TeX. Plain allows English-speaking TeXnicians to avail themselves of accents like the hat, umlaut, and tilde, as well as special characters like ligatures.
Kopka and Daly - the authors of the excellent Guide to LaTeX - work at the Max-Planck-Institut für Aeronomie in Germany. The name of the institute and the title of their book, which I would recommend to the readers of RISC World, could be typeset using Plain TeX in the following manner:
Helmut Kopka and Patrick W. Daly of the {\bf Max-Planck-Institu
f\"ur Aeronomie} are the authors of the brilliant book {\sl A
Guide to LaTeX. Document Preparation for Beginners and Advanced
Users\/} which everyone should read
\en
Note how the dieresis above the u in fur was produced with the \" command. Observe also how the scope of the slanted command \sl was determined by grouping the book's title in brackets and how italic correction - controlling the interword space between slanted and roman type - was activated with the \/ command.
Get the idea? If you do, try the following exercise.
Figure one above shows the transcription from Arabic into the Latin script of a short passage detailing the geographical position of Egypt. Note the use of the macron or bar and of the use of the dot-under-accent character. Here's the challenge. See if you can typeset the passage using Plain TeX by using the following commands:
\d <letter> which produces a dot under the character.
\= <letter> which produces a macron.
\i which produces an 'i' without its dot.
It's not that difficult, honest.
Does all this sound a bit like hard work? If the answer is 'yes', then think about using LaTeX for multilingual document processing.
LaTeX and the Tower of Babel
It is probably a good idea to confine yourself to the LaTeX base system if you only intend to include a few lines from a language other than English in a document.
If however, you intend to produce an entire document in a language other than English, the babel package by Johannes Braams is one possible way to go. This package was devised in order to lessen the North American feel of LaTeX documents. Babel has a number of distinctive features which include the definition of hyphenation patterns via an external file and the translation of LaTeX elements and commands from North-American English into the requisite language. Babel is also of interest because it distinguishes between dialects within a language. A user is therefore able to choose between continental Portuguese and Brazilian Portuguese or between German and Austrian German.
Babel is activated by including the language or languages that you intend to use as the argument of the \usepackage{...} command. Where you specify more than one language, the last language listed will be the default. It is also possible to switch between languages by using the \selectlanguage{<name of language>} command. If you think that babel may be what you require then refer to Goossens et al's The LaTeX Companion (
Non-Latin scripts
My own journey along the path towards TeX enlightenment (still not very far advanced!!) began with the discovery that TeX could deal with scripts as diverse as Greek (both Ancient and Modern), Russian, Arabic, Chinese and Hindi. Check out Goossens et al's The LaTeX Web Companion (
But my personal favourite is TeX's ability to produce the Arabic script. I have always loved Arabic because of its status both as a medium of communication and as an art form. So if you share my enthusiasm take a look at the ArabTeX package from the Institut fuer Informatik, Stuttgart. ArabTeX includes a Metafont generated Naskh script - a small copybook-type script used since the tenth century to produce the Quran - and a set of macros which can be used with Plain or LaTeX. ArabTeX extends the base system's capabilities by creating the arabtext environment inside which it is possible to insert mathematics and non-Arabic quotations. It is also possible to include one-line Arabic quotations in a document which would otherwise be dedicated to another language by placing commands between the <....> symbols. Figure Three (below) shows the one-line quotation mechanism is action.
Your move..TeX plays chess
So you're not interested in languages. That's fine; why not use TeX to produce a game board
If this topic interests you, you'll be delighted to discover that TeX can be used to produce Go, Xiangqi, Backgammon and European chess boards. For the sake of brevity we will however limit our discussion to European chess.
A LaTeX package is available - called chess, naturally - which uses a classical-looking chess font designed by Piet Tutelaers. Tutelaers' chess font is made up of 26 characters which depict the pieces on white and black squares respectively. The game board's perimeter is not represented by the font but appears courtesy of a set of macros. The package is useful for annotating complete games, devising chess questions and for recording move updates. Figure Four (below) shows a sample chess board after the dvi file was run through dvips and viewed through Ghostview on the PC Card whilst
An interesting addition to the chess typesetting capabilities of LaTeX is bdfchess by Frank Hassel. This was designed for people who play correspondence chess where the tradition is to play two games at the same time so that both players can play as White. Hassel has consequently devised additional environments for the typesetting of chess postcards. Figure five (below) shows one side of a sample card. The reverse side would of course contain two on-going games typeset in the style of Figure Four. Interested readers should again consult Goossen et al's The LaTeX Graphics Companion for a complete account of the chess and bdfchess packages.
Metafont: TeX's Indispensable Cousin
So how is it possible for Plain TeX and LaTeX to use such a wide variety of fonts? Part of the responsibility for TeX's power must be attributed to Metafont because of its ability to describe the meta-ness of a shape in terms of a number of mathematical parameters. Knuth - the creator of both TeX and Metafont - uses the analogy of a meta-recipe whose ingredients can be mixed in varying proportions in order to create a slightly different flavour. The Metafont user therefore writes a program to create each symbol of a particular typeface. A Metafont program also requires an understanding of Cartesian coordinates and of a number of commands which can be used to produce shapes. The budding Metafonter will likewise need to develop an understanding of the relationship between mf, gf and pk files before taking full advantage of the system. Interested readers are referred to the brilliant METAFONTbook by Knuth (see
A Word of Encouragement
I hope that this article has convinced you that TeX can be used for more off-beat uses. I have looked at a few extensions to Plain TeX and LaTeX which match my interests but there will certainly be a package to suit your particular needs. A good place to start is Graham Williams' on-line TeX catalogue (
Much of the software mentioned in this article is
I hope that you enjoy using TeX as much as I do. So now it's over to you...
Paul Webb
ÿÿÿÿVOLUME1/ISSUE2/GAMES/INDEX.HTM Volume 1, Issue 2, Gaming World
Gaming World
The latest from the gaming scene with Andy Spence.
News
There has been a little movement behind the scenes of the RISC OS gaming market. Although I can't bombard you with an avalanche of stunning new games reviews, there is a fair amount of news. With work steadily progressing at Artex, long-running TBA (producer of Brutal Horse Power), announced its closure. This issue we take a look at the common phenomena of budget releases, something which has caught on in every games market at the moment, and news from RCI
With TBA announcing the end of its reign, who better to pick up the pieces than RCI? RCI will be selling the entire TBA games collection on one CD and - assuming this will be a reasonable price - it should mean that these originally overpriced games should actually be worth the money.
Humour aside, Andrew Rawnsley has also said that the 3D flight sim F16 that we briefly previewed last issue has been put back until new hardware appears. In its place Chaos Engine is the new focus for release. Out probably before you read these words, the game is verging on Jurassic from 1993 and is a conversion of the Bitmap-Brothers top-down adventure game. Graphically reminiscent of Speedball 2, it's the usual drill of legging it round a map, picking up keys, collecting power-ups to trade in between levels and as Mr Rawnsley so gracefully puts it 'blasting bad guys'. There are two characters which you select from six possibilities and you can then choose either two human players or have the computer be your only friend. Whether or not this game will be worth the £20 price tag we'll have to see, but we'll let you know when we review it next time. However, if nobody buys this, there is no chance of Total Annihilation appearing.
Big news from RCI is the possible release of Cavedog's huge PC hit, Total Annihilation. This highly-addictive strategy C&C look-alike was received well in the PC world and you can read more about it in our initial look. Like all RISC OS-related things nothing is definite as although RCI have many coders willing to convert the game, they are still tracking down the original source code from the now dispersed Cavedog company. Mr Rawnsley has recently said that he is having major problems with this conversion, but that he also has two other games on the cards from the Bitmap Brothers: Z and Speedball 2000
The biggest RISC OS event this year is fast approaching in the form of Wakefield 2000. Naturally RCI will be there, hopefully with new conversions and you'll be able to see Iron Dignity in action on the Artex stand. Strangely the recently stagnant Paradise will have a stand, even though we have not seen any signs of life from them in over a year.
Previews
Brief previews of future games in the RISC OS market including Chaos Engine, Iron Dignity and Skirmish. Check it out here
Total Annihilation, the PC smash hit could be heading for a conversion. If you don't know what its all about, read our
Budget Reviews
A new regular section to cover the popular trend of cheap software, this month we look at APDL's Public Domain CDs and Wizard Apprentice, see here
Company Contacts
A compiled list of addresses, phone numbers, e-mail and URLs for all the developers and publishers on the RISC OS gaming scene
Andy Spence
ÿÿÿÿVOLUME1/ISSUE2/HTML101/INDEX.HTM Volume 1, Issue 2, HTML FAQ
HTML FAQ
Richard Goodwin brings you up to speed with HTML on RISC OS.
1. How do I create a web site?
Internet newsgroups abound with questions on how to edit and create a web site, or in the case of the RISC OS groups it's usually worded as 'what's the best program to edit my web site?' Of course it's a little like asking 'how long is a piece of string?' because it really depends on what you want to achieve, and how much you want to pay; although many people might bemoan the fact that RISC OS lacks a browser that can handle all the bells and whistles of modern PC browsers, when you start to look into how RISC OS machines support the Internet it's quite surprising just how much software there is. So, to try and help with this perennial problem, I'll try and go through all the options one by one
WYSIWYG editing
Using DTP packages
Using the source
WYSIWYG editing
Editing HTML using a WYSIWYG editor (which I'm sure you already know stands for 'What You See Is What You Get') is the quickest way to create a web site, as you generally get the ease of use of a word processor, but you can access more advanced features like frames, tables and JavaScript doohickeys. When you save your site to disk, it'll look exactly the same in your web browser as it did in the editor - well, mostly.
WebMaster, WebSpider and SiteWriter in action
RISC OS has three such editors in circulation, namely WebMaster from IMS (
Why should you use a WYSIWYG editor? Well, it's very, very easy to use one to get a site designed quickly, but scores over using a DTP package in that you not only get more advanced options, you also get some form of site management built in - you can generally check the site for internal consistency (making sure links don't go to pages that don't exist for instance), and even upload the pages that have changed directly to your webspace for you. So why wouldn't you use them? Cost issues aside - you have to pay for these packages, over the free source editors or the DTP/word processing packages that you might already have - WYSIWYG editors generally generate HTML which is less optimised than doing it be hand, using too much HTML in an effort not to slip up. The example I usually use is an e-mail I was sent from Microsoft Outlook
<DIV><FONT color=#000000 size=2>Just to let you know that I'll be out of th
office on Thursday 23 from 11 am to approx 2 pm</FONT></DIV>
<DIV><FONT color=#000000 size=2> </FONT></DIV>
<DIV><FONT color=#000000 size=2>Anne</FONT></DIV>
count: 239 bytes.
Almost half of this code is unnecessary - if you were to code this by hand, it would be more like
<font size="2">
Just to let you know that I'll be out of th
office on Thursday 23 from 11 am to approx 2 p
<P> 
<P>Ann
</font>
count: 134 bytes
...a clear saving, which might not look like much but added together over a large page can substantially affect the download time of your web site. I'm not saying RISC OS editors are quite this bad, but Netscape Composer is exceptionally bad - to do a paragraph break it would often do things like <center> </center> instead of a simple <p>, and due to a bug in the Netscape browser's rendering it didn't even display properly! So, it's worth learning at least a little HTML to be able to fix any problems
In summary, if you're pretty serious about web design, have some money to spend, but don't have the time to sit down and learn HTML first, then you'll probably be better off with a WYSIWYG editor. Everyone else, read on
Using DTP packages
DTP packages and other word processors have a big advantage - you've probably already got one so you don't have to spend any more money, and you're probably comfortable using it. If you want to publish existing information it'll probably be saved in a format that loads into your package, perhaps because that's what you originally used to type it in. However, you might not win any awards for great design this way, and if you're using older software you might have to upgrade to a later version, or perhaps in the worst case even ditch your software altogether
Case in point: Impression. Once the DTP package for the Acorn range of computers, you can even get the Junior version for free from the Computer Concepts web site (www.cconcepts.co.uk). However, for web design it's a pain. As standard it doesn't come with any HTML functionality; you can add extra modules into it to give rudimentary HTML loading and saving, but it only really works with stuff that's already in HTML format or if you're starting from scratch, and even then it's not great. If you want to convert an existing document it doesn't do simple things like convert headlines and sub-headings into the HTML equivalent (<H1>, <H2> etc.), and it doesn't encode 'dangerous' characters into safe equivalents - it allows smart quotes, pound signs and even triangular brackets through unaltered, which will play havoc with your document when it's viewed in a web browser, especially on a PC where the character mapping is different
On the other hand, the TechWriter/EasyWriter range (I'll call it Writer for short) is absolutely superb using HTML, as it's a later vintage. I regularly use one at work to take Microsoft Word documents and save them as sane, simple HTML; Word itself not only goes overboard with the HTML tags in an attempt to render the document exactly the same in a web browser as it is in the word processor, it also (as of Office 2000) adds a huge amount of Internet Explorer-only XML. And it still fails (a DTP document is fixed width - you set the page to A4, and that's it - whereas a web page is as wide as the browser window, which can vary wildly). Writer can load an HTML file and import all the images so the DTP version is very close to the web browser version
So, I obviously use Writer for any HTML that's predominantly text based, right? Nope. I've been using Impression for years; I love the ease of the user interface, I know all the keyboard shortcuts, and I've programmed up the abbreviation dictionary to correct common typos. Writer is a whole new learning curve, and I find the user interface a bit fiddly. So what's the solution? I'm lucky in that I have the option to use both - Writer can import Impression files that have been saved as plain text with embedded commands, so I write using Impression and then get Writer to make a fair fist attempt at converting it. There are third-party Impression DDF to HTML converters out there - try DDF2HTML by John Alldred (http://www.protovale.co.uk/john/) - so in the end it's whatever works for you
Impression Publisher and TechWriter being used to create what will eventualy become Web pages.
If you have a HTML-enabled word processor, try it; if what comes out the other end is okay, then use it. If not, then you might have to go for a more modern program, and you might want to ask a few questions and even try and get hold of some example output before you part with your hard-earned cash. It's certainly easier than teaching a class full of kids HTML though
Using the source
Up until very recently even in the PC and Mac community you couldn't really call yourself a proper web designer unless you did the macho thing and hit the raw HTML source instead of using those namby-pamby WYSIWYG editors. Now that the likes of Dreamweaver and HoTMetaL Por have both modes, and even FrontPage can do a source mode, the days of plain old text editors is going a little more out of fashion. However, it's cheap, and still a very good way to get good, clean HTML - if you know what you're doing. You can get lots of help to make things less painful, but there's no substitute for learning the HTML language
Hand-editing HTML
You have all you need to get started built into (or included with) your machine - the text editor Edit. However, apart from the occasional quick chop and change and a very nice, easy to use advanced search and replace facility, if you're going to be using a text editor for any length of time Edit will fast become very restrictive. It doesn't do the two things that you want from a text editor that does HTML - context-sensitive colouring, and macros. Context-sensitive colouring basically means it will pick out important chunks of text - such as HTML tags - and colour them differently from the rest of the text, making it easier to see where the tags start and the text ends. Believe me, if you're trying to find an error in a large page, this is essential. And macros allow you to quickly add common HTML sequences, for instance you might select a piece of text, click a button and that section is marked as being bold
There are two main contenders in this field, both of them free - StrongEd and Zap. Which is the best text editor? Well, that's a whole other holy war, but my rule of thumb is that if you have to ask the question it's probably StrongEd. StrongEd is a nice, easy-to-use but powerful text editor. Zap is even more powerful, but perhaps a little more unfriendly to newcomers; it is, however, pretty much essential if you also want to write programs in a 'proper' language, such as C. You can get these text editors from
You're not constrained to the limited HTML provided by the text editors however; in days gone by it was almost a right of passage that a webmaster would write his own macro inserter. There are not as many under RISC OS as I expected - in my research for this article I could only find four, and of these I'd written three! Trying not to blow my own trumpet too much, first I released the very simple HTMacroL, then the slightly more advanced HTML², and now there's HTML³ which covers most areas of HTML from simple effects to tables and even tricks with JavaScript and Server Side Includes (SSI). The other package I found was HTMLKeys by John Alldred, which offers a simple to use single window of commonly used tags. These programs all work in the same way - you edit your document in a text editor as normal, but when you click on a button in the macro program the text gets typed into your editor automatically, saving you a lot of work. John's site is at http://www.protovale.co.uk/john/, and my own programs can be found at http://www.goodwin.uk.com/richard/programs/ - just to keep up the friendly rivalry you can also get programs to check the links in your web pages from both sites, although John's (LinkCheck) is better for checking internal links, and mine (LinkSure) also checks external links if you're connected to the Internet
HTML³ and HTMLKeys
Finally, there are all sorts of other free goodies to help you with creating a web site the hard way. You'll probably want to have some sort of HTML validator to find bugs in your code, and the best known of these is HTML Tidy (also known as just plain Tidy), originally written by Dave Raggett (the guy who writes the HTML specifications, so he knows what he's talking about - most of the time!). There are a number of conversions of this program to RISC OS, so the best bet is to head over to http://www.acornsearch.com/ and find the one that suits you best. There's also Validator, which is absolutely the last plug I'm giving John Alldred this article. You'll probably want to pick up InterGIF, which started out as a program to convert Sprite files to animated GIFs but is now indispensable for converting any type of file to GIF format whether animated or not (
CSS Design and Buttons in action
If you're really serious about hand-coding you site, there is a RISC OS commercial solution - R-Comp do a suite of tools called the Web Designer's Toolkit including HTMLEdit, plus other goodies such as a spell checker and imagemap creator. But more of that next issue, when I hope to be reviewing the suit in full
Richerd Goodwin
ÿÿÿÿVOLUME1/ISSUE2/HTMLTIPS/INDEX.HTM Volume 1, Issue 2, HTML tips and tricks
HTML Tricks and Tips
Richard Goodwin lets you into some more of the deper secrets of the web designer.
Colour and layout
Some purists believe that any change in the colour of a website from the default grey background, black text, and blue/purple/red links (depending on whether it's been clicked on or not) is an unnecessary complication which makes it harder for visitors to a site to understand how to navigate around your site, and therefore the use of colour is some kind of design heresy. However, I'm sure you'll agree that this would not only make web browsing and site design a pretty dull experience, it'd also make for a very short article, so I'll plough on.
Colour
Colour brightens up a website, and careful use of colour can make it look more professional as well; but what constitutes 'careful use'? Well, the first thing is generally not to go overboard. The saying 'less is more' is especially relevant when you're trying to keep one eye on the download time, so it's a good job you can add colour quite cheaply - the attribute bgcolor can be dropped into either the <body> tag, or into the definition of a table cell (<td>), and a small two-colour GIF image of a few bytes can add colour and even a little texture. You can jazz up that boring old web page for the price of just a few bytes.
The second area to be careful of is the choice of what actual colours to use, and what they say about your site. If you're designing a site for a company, the job may have already been done for you - just get a hold of some headed notepaper, a business card or suchlike. Chances are they've already put time and money into deciding on their own colours and logo, and they'll want the website to fit in with all their other 'literature', thus saving you several minutes of important drinking time
The IFEL website
If the company doesn't have coloured logos however, don't despair, there are other easy ways of picking a colour scheme - pick colours to do with what the site is about. For instance, IFEL is well known in the RISC OS community for its hardware, and on its website (http://www.ifel.co.uk/) dark green with yellow and orange is used to reflect the green circuit boards and gold circuitry sometimes used in hardware manufacture.
If you don't have such an easy-out, you'll just have to do a little thinking. You could just choose your favourite colour, but what goes with it? Generally you'll want to choose at least two, maybe three, colours that go well together so that when you start adding graphics you'll have something to contrast with the background to highlight the logo, links buttons and so on
What colours say about your site
Each colour has a certain connotation attached to it, which might aid or hinder the message you're trying to get across.
The obvious starting place is red - a bold, exciting colour which is associated with danger (blood, stop signs etc.) and passionate romance (red roses). Possibly not one to over-use on a site about open heart surgery though. A darker red is slightly more old-fashioned, perhaps harking back to the times when books were bound in red leather; a little lighter and you get pink, which is again of course associated with love, perhaps a little too much for the boys.
Yellow is a happy, cheery, sunshine colour, although sometimes a little too bright to be used on its own - it's great as a highlight colour but won't show up well against white. If you tone it down a little you can go for a slightly brownish look - highlighted with yellow you can do all sorts of gold effects - or heat it up with a little red to make orange, which is a bouncy, fun colour
Moving on through the spectrum we come to green, which is associated with nature - spring's new leaves, a grassy lawn and so on. Along with blue it's a very classy colour, and very calming, but this can mean you might find it a little dull - unless you add a little yellow and make it a zingy lime colour
Blue is a cool, calming colour, telling of calm seas and the sky on a summer's day. It can also be cool in another way, mixed with a few white areas to make an icy theme. Again it can seem a little dull and conservative, but like a pair of blue jeans it never really goes out of style. Plus 35% of Americans say it's their favourite colour, and that many Americans can't be wrong, can they?
Purple is a hippy, trippy colour which I tend to avoid like the plague because it's used by so many people who want to be different but don't really have the taste to carry it off. This is perhaps a little unfair, as it is a little magical and occult (beloved of both bishops and Goths) and goes well with pink. Try it if you want to be nonconformist, but don't say I didn't warn you.
This just leaves the non-colours - black, white and greys. Black is the most powerful of "colours", and along with white gives the greatest contrast which aids visabilty and readability. It's also stylish - possibly why most consumer electronics has traditionally been black, although we finally seem to be moving away from this - and a little mysterious, with its association with dark nights and the occult. White on the other hand is bright and clean and pure and good. Greys can look a little washed out if not handled properly, but do have the advantage of going with just about every other colour
You could just mix and match these colours to create a theme - for instance reds, oranges and yellows to make a fiery theme, or blues, turquoises and greens for an ocean-style theme, oranges and browns for a warm, earthy, Mediterranean theme and so on. Or you could apply a little colour science and save yourself the effort...
Colour wheels
A colour wheel is just a simple diagram showing colours arranged in a circular arrangement.
The six- and twelve-colour wheels.
Once you've picked a colour you want to use on your website, match it to the closest colour on one of the wheels above - the twelve colour wheel is just a slightly more complex version of the six colour one, so the rules work exactly the same on both. If you chose a colour which doesn't appear to fit - for instance, pink or brown - don't worry, just think of the colours shown as the most extreme examples, you can always add a little white or black into the mix, so for those examples you'd use red - just assume light red is pink, dark red is brown
The simplest rule to remember is that of complimentary colours - those that are directly across from each other on the wheel. These colours are the exact opposite of each other, for instance, yellow and purple, green and red and so on, so you'll be a little familiar with them if you've seen photographic negatives. These show up well when placed side by side, but can be a little harsh. A neat trick is that if you mix them together in equal parts you get grey - remember how I said they went with almost anything? Well if you use complimentary colours and need a third colour for your site, you could always try grey which might calm things down a little. Or you could try a variation on the theme and go for three colours exactly one third around the wheel from each other.
The more subtle rule however is that of adjacent or analogous colours - simply put, colours that are together on the wheel. In the section above I mentioned reds, oranges and yellows as a theme, as well as blues, turquoises and greens, both of which fit into an adjacent colour scheme. Of course, all colours are sort-of close together when you put them all in a wheel, but to make adjacent colours work it's best to keep the spread as close as possible - perhaps just the colours one step either side of your main colour, which works well on the six point wheel but even better on the twelve point wheel.
Text areas
Consider most text-based websites - chances are they'll have a splash of colour down one side or across the top, and the main part of the page will be white with black text. Why? Well, first and foremost is that this is how it's been done for several hundred years with traditional publishing media such as books and magazines. People feel comfortable with this, which instantly makes it easier for them to understand what you're trying to get across. It's fairly easy on the eye; although staring at any colour on a monitor is going to give you a headache eventually, the high contrast of black on white at least gives the viewer a fighting chance. And it's also pretty easy on the printer ink if someone wants to print a page from your site
Of course, rules are there to be broken, and style can come from knowing exactly when to break the rules - for instance, most games-related websites usually have a black background with white text. This makes it closer to the style of most games, it's also a little easier on the eye (you get the same black/white contrast, but the predominance of black is more restful). You'd also want to do the same dark background, light foreground if your target audience is using a TV as their display device - although NCs didn't take off in quite the way people had hoped, as the Internet continues to gain popularity you'll find more and more consumer devices being web enabled; for instance, the Dreamcast games console. In this as in all things, it pays to know your target audience
So, for large blocks of text high contrast is good, traditional colours are good, cyan backgrounds with black text are bad. It's also worth pointing out that textures for large text blocks run against most of the points raised above - you lower contrast, make printing harder (and much slower), and generally mess things up. However, a subtle watermark or very pale logo down one side of the page can look quite stylish
Other rules and how to break them
Argo's website, showing the main page and a support page - same style, different colours.
You may have noticed by now that whenever someone tells me about "the rules", I always feel like rebelling and breaking them first chance I get. So, as well as trying to write about what you should do, I'll also try and think about how you can go against this advice to produce a stylish, unique site. For instance, consistency helps the reader feel more comfortable and helps them navigate about the site; if they come to something that looks quite different to where they've just been they'll get a little confused, and start wondering if they've wandered off the main site rather than read your carefully crafted prose, so you try to keep a similar layout and the same colour scheme throughout the site. They way to break this rule is, of course, to decide from the offset that multiple colours are part of your design; for instance, the current ArgoNet site (http://www.argonet.co.uk/) is similar in style across much of the official section, but the main pages are in shades of blue, the support area is made up of greens, and the links section is predominantly orange; the layout is very much the same, but the colours help show at a glance which part of a fairly large site you're currently in.
Another rule is that the eye will start on the left and move right, and from top to bottom; the focal points are to the centre or upper left of the page. You should, therefore, put any navigation toolbars along the left or top edges of your page, with the text on the navigation buttons going left to right. However, this seems way too traditional and Western for me at times, so I'll sometimes switch the navigation to the right hand side; it's different, it's out of the way so people can concentrate on the text, and it's good if it's the sort of page someone might want to print - they're there for the content, not a printout of a load of one-word GIFs. You could also make the navigation buttons go down the page oriental-style instead of left-right if, for instance, the site is about some kind of martial art. I'd advise against right-left text for English words unless you're especially perverse though
And finally, don't go overboard with trickery - keeping a page simple will mean it loads faster and is easier to navigate and read. Adding huge banner ads, loads of colour and massive images all over the place won't get you a repeat visit. Changes in colour in the main text can make the text harder to read. However, it does make it more fun! People like a bit of colour, it makes the text more interesting so long as you don't overdo it
A site that changes colour depending on the time of day
This month I finally added something to a site I've been meaning to do for ages - one that changes colour depending on the time of day. As the site is generated by a Perl program every time a page is requested I went overboard and got it to download the sunrise and sunset times every day, so although the site was originally in shades of blue I made it turn red and orange for the hour around sunset, black and blue throughout the night and purplish around sunrise until it returned again to blue for the rest of the day. It even changes to using a dark background with light text if it knows you're using an NC or Dreamcast!
While I'm not suggesting that you go quite so overboard, it might be fun to use a little simple JavaScript, SSI or PHP embedded into your page to switch colours based on the time of day, or the day of the week, or even turn green on St. Parick's day. Or you could remove all the references to colour to a separate file and use a very simple piece of SSI - the #include directive - to copy this colour file back into the page at the relevant places, then when you want to change colours (and perhaps even graphics sets) you just change the colour file and your entire site changes - you could change it four times a year so your site changes with the seasons!
I hope that this has given you some food for thought, so get out there and start designing
Richard Goodwin
ÿÿÿÿVOLUME1/ISSUE2/PD/INDEX.HTM Volume 1, Issue 2, PD World
PD World
Alasdair Bailey takes RISC World readers through the world of PD and Shareware.
Welcome to this, the second issue of PD World. This
time we'll be looking at another selection of the best of
general PD software. However, next issue, I'll be taking
a closer look at internet-related PD/shareware. Please
let me know of any new developments or bits of softwar
you use in this area so I can offer as complete a
coverage as possible.
Frax
The front page of Frax, a new freeware software
index for RISC OS.
The Frax web site is a brand-new searchable software index for
RISC OS PD, freeware and shareware. With download
links also included to all items listed, this web site could
well render the FTP sites and bulletin boards of yesteryear redundant.
The whole Frax system is fully automated, meaning
that anyone can quickly and easily submit a new item by
registering as a member and then entering some
rudimentary information about the softwar
along with a download URL which others can follow.
Once this process is complete and the submission has
been moderated, the new item will appear in one of the
site's categorised sections. From here, others may
download it and even add a one to five star rating to let
future punters know what they're getting for their download time.
At the moment, there's a fair few bits of software on
Frax and it's well worth a look if you're after a particular
utility. The great thing about sites like these is that -
provided enough people submit software - they become
a one stop shop for PD/shareware and remove the need
to traipse around numerous authors' web sites to find
the right program. Of course, there are links to web sites
on Frax too, just in case you want more information.
The automated nature of Frax also means that it is
fully searchable by keyword, phrase or submitter. Take
a look at Frax when you have a moment a
Back It Up
BackMan is a well-documented hard disc backup
suite from Matthew Sackman. It is a very usable and
reliable utility and its range of features means that it can
be tailored to suit most needs. As would be expected, all
the usual bits and bobs are supported, including incrementa
backups and also use with removable media
such as Zip and floppy discs.
One feature lacking in the current release is the
compression of backed-up files. This is vital to conserve
costly storage media but can be worked around by
setting BackMan to use an empty archive as its destinatio
directory, provided you have the full version of either
SparkFS or ArcFS.
BackMan's configuration window is a little scary at
first sight but a quick read through the very comprehensiv
manual will set you right in no time. The use of
HTML to produce manuals for PD and shareware apps
is becoming ever more common and I like it. These
days, almost all users will have access to a web browser
(even if it's only one like as the off-line version of Fresco
included on this very CD) and HTML makes the inclusion
of images and data tables a doddle.
As a shareware offering, BackMan carries a £10
registration fee but in our opinion, it's well worth it.
We've even included a copy of the unregistered version in the SOFTWARE director
on the CD for you to have a play with; for more informatio
on the program, visit the BackMan web site at
Big Brother is Watching!
VNC (or Virtual Network Computing) is a client-server
protocol to enable one network workstation to see the
screen display of another. This can even be extended
to allow the client to pass keyboard and mouse buffer
data back to the server. But what use is all of this?
Well, it means that if you regularly use more than one
computer on a network, you can set up VNC to allow
you to use one machine remotely and save all that desk
swopping.
Another use of VNC is to keep an eye on what your
pupils (or employees) are doing whilst they should be
working. By setting up all the machines in a classroom
or office to accept password-protected VNC connections
an administrator can periodically log in and check
on what's going on at the other end.
The great thing about all this is that you can even do
it from RISC OS. Provided you have a fast enough
network card, the display of the computer being
remotely viewed appears in a window under RISC OS
and any keyboard or mouse actions carried out while
the window is active are passed on to the remote
machine. The system is highly configurable with options
existing to control what's passed to the remote machine
as well as the type of compression used to minimise the
network traffic.
In testing between my Risc PC and PC, the system
was found to work well in both directions even using the
ancient 200KB/s network card fitted in the Acorn.
Screen mode changes and hardware accelerated
display modes mess things up on occasion but so long
as you stay within the confines of the desktop, this
solution can feel just like a supercharged PC card from
the Acorn side.
Clients and servers are available for most platforms
and all are free to download. Take a look at
for more info and downloads of Acorn and PC clients and servers.
Do You Samba?
While on the subject of networking, the RISC OS port
of Samba deserves a quick mention. This port, brought
to us by David Buxton, allows PC (and Linux/Mac) users
to access drives and printers on a RISC OS machine
across a TCP/IP network. Previously, this sort of softwar
would have cost an arm and a leg but this port of
the native Linux drive sharing software makes things a
whole lot easier.
Samba, combined with the commercial LanMan98 for
accessing the Windows drives, can help to build a
seamless network between an Acorn and PC at very
little cost over that of the network cards and cabling.
Take a look at the RISC OS Samba home page a
for the download and more info on the program.
Skinned Alive
Andrew Hill's excellent Matrix themed skin
MP3 players have received a lot of coverage lately in
the RISC OS press so I won't draw this item out.
Basically, I've included a copy of DigitalCD and a
selection of the best skins for use with it on the CD for
your musical benefit.
DigitalCD is one of a handful of MP3 music player
front-ends for RISC OS, and these rather cryptic soundin
skins allow you to customise the look and feel of the
player's windows. They're essentially just new sets of
window furnishings for the player to use in its windows.
A copy of DigitalCD is included in the SOFTWARE director
on the CD with the following skins
Evil
Ferrari
LCARS
Lunatic
Midnight
Realities
Sonix
Matrix
Wood
and these Plug-ins
AudioBump
Cthugha
Firecom
TimVis
For more skins, plug-ins and up-to-date versions, see the DigitalCD
web site at: JPEG Cleaning
And finally, news of a small utility which will save
some people an awful lot of trouble. JClean by David
Barrow (a front end to work carried out by Jérôme
Mathevet) allows the removal of all excess information
from a JPEG image without re-compressing it and
hence losing quality.
This can be very useful for users of certain models of
digital camera which, even with the use of RISC OS
connectivity software, still cause problems for SpriteExtend'
super-quick display routines. Without stripping
excess data, the display of pictures from cameras such
as Nikon's excellent CoolPix 800 has to be done with
something slower and less fussy like ChangeFSI.
There's a copy of JClean on the CD for you all to use.
'Till next time, goodbye!
Alasdair Bailey
ÿÿÿÿVOLUME1/ISSUE2/PDF/INDEX.HTM Volume 1, Issue 2, PDF - not a Printer Definition File
An idiot's guide to PDF
Ever wondered what a PDF file was? Ever wondered how you could make them or view them? No? Well read Aaron Timbrell's explanation anyway.
PDF, as any fool knows, stands for Printer Definition file. Well, yes it does, but it also stands for something else, Portable Document Format. So what is a Portable Document?
The Portable Document Format
The PDF format was developed by Adobe to allow easy transport of printed documents in a digital form. The idea is simple, you can open a PDF file in Adobe Acrobat (a free application for Windows) and it looks just like a book, only on screen. You can print it out and it will look just the way the writer intended. PDF files can include pictures and fonts, so the file will look the same on any computer that can read PDF files. PDF is now the de-facto standard for distributing manuals, technical information in fact a whole host of material that normally would be printed. Whenever you buy a new printer, scanner or digital camera, the Windows CD that comes with it is guaranteed to include documentation in PDF format.
PDF files have a number of advantages over other ways of distributing information: firstly they will appear the same on all computers (provided the program that is displaying the PDF understands it properly). Secondly they can include hyperlinks - so clicking on a reference in the index will take you to the correct page. The third advantage is size; PDF files are quite compact and hence take up little disk space. The full technical specification for Adobe Illustrator files (which can be downloaded from Adobe's web site) runs to over 166 pages, is fully illustrated yet is only 1MB in size, approximately 900 bytes per page. Further space savings can be obtained by compressing PDF files using SparkFS or WinZip.
PDF files can also include foreign languages (i.e. non Eastern Europe) and will display the same on a PC running a Cyrillic version of Windows, with Russian fonts, as they will on a UK spec machine without the fonts. PDF files are normally fully self contained, everything required to reproduce the document exactly as intended is included in the file. This has lead to the use of PDF files as a means of sending documents to printing houses. Before PDF files were usually sent as PostScript™, but this can cause problems, with missing fonts, incorrect page sizes and a host of other potential problems waiting to trip up the unwary. However with PDF files you know that the file will always be the same and will always be complete, provided the program you are using to view the PDF file understands it of course.
That roughly sums up what a PDF file is, but what can we do with them under RISC OS? The program that is used to make PDF files on PC and Macintosh machines is Adobe Acrobat, to view and print documents the free Adobe Acrobat Reader can be used. You may think that once again RISCOS users are penalized by this reasonably recent technology, but you'd be wrong.
PDF Viewer
PDF Viewer is a freeware program written by Leo Smiers and Derek Noonburg. It allows you to view a PDF file on screen, print it out, and also save out pages in various formats such as Draw and text. PDF Viewer will handle many documents, but by no means all. Like many aspects of computer technology, PDF files have been changing to include new developments, and PDF Viewer just cannot handle some newer files at all. Even on older files it can make mistakes, particularly when it comes to rendering greyscale or colour graphics. However it's free, works most of the time and will often allow you to view PDF files that otherwise would remain a mystery.
GhostScript 5.50
GhostScript is another freely available package, supplied under the Alladin Free Public licence, which basically means that you can distribute the package, provided you do not charge for it, and that as a single non-business user you do not have to pay for it. GhostScript started out as a Unix/Linux package, and is command-line driven. You don't get any nice WIMP based front end, so if you want to actually make it do anything you have to wade through the documentation and then write Obey files to make the thing work.
For example the Obey file shown below will convert the named PostScript file to a PDF file.
As you can see this is not user-friendly. However, if you can get to grips with GhostScript, and you have enough memory (I recommend at least 32MB) then you have a powerful package that can preview PostScript files on screen using the optional GhostView application, can convert files into a number of other formats, and can generate very compact and well-defined PDF files using some of the most modern techniques. As a free package GhostScript is superb, if you are prepared to spend the time getting it to operate. If you are not, and you would like a proper front end that makes sense, then you will need a decent well-supported commercial package, such as RiScript PRO.
RiScript Pro
RiScript Pro is supplied on two floppy disks, with a 64-page printed ring-bound manual. Installation is simply a matter of dragging the application from the archive on disk one to your hard disk. Disk two contains sample files and other resources. One small problem then appeared, RiScript Pro requires the nested window manager, and the machine I was using didn't have it installed. To be fair to Cerilica it does say on the front of the package that the latest !Boot upgrade, or RISC OS 4 is required, but it might be nice for the warning to be re-worded to make it more obvious. Running the package is just a matter of double clicking, if you then want to view a file such as a PostScript document, simply double click on it and it will appear in the RiScript window.
RiScript is a very easy application to use, and the manual makes an excellent job of explaining the different types of files that RiScript can handle. The manual also contains a very good explanation of PostScript, PDF and EPS (Encapsulated PostScript) files. Along the top of the RiScript window are simple and easy to use controls that can be used to move through the pages in multiple page documents. Along the bottom of the window are buttons to set the size of the screen display, the paper size & the angle the document will be displayed (in 90 degree steps). Once you have your document in RiScript there are a number of things you can do with it. Firstly you can view it, very useful if you are checking a file before sending it to someone. Secondly you can print it, again very useful if documentation has been supplied in PDF format. Thirdly you can convert the file to something else; for example, you can load a PostScript file created using the Acorn printer drivers and export it as a PDF file.
RiScript Pro also offers a wide range of configuration options, including full control over the memory allocation used by the internal PostScript RIP (Raster Image Processor). There are also options to control how fonts are translated when you make a PDF document. You can also configure the amount of multi-tasking used when first displaying a file. By default RiScript Pro multi-tasks while first rendering the file to screen, this results in an initially slow update, but keeps the computer usable while files are processed. Once the whole file has been processed screen update is then almost instantaneous. This type of feature demonstrates the thought that has gone into the package.
Font handling is also included with RiScript Pro. If you use the default RISC OS fonts, such as Homerton, then the file will be much smaller. This is due to the way that PDF files work, if you create a file using Homerton, and then view it on a PC the font Arial will be used for display. If however your document contains other fonts then these need to be included in the document. RiScript Pro can do this by converting each line of text into shapes that can be rendered on any machine; while this results in larger files, the finished PDF will be identical to the original file. The printed manual covers all this in great detail and any user of the package would be well advised to read this section.
PDF files generated on another platform may not have all the text changed to shapes, but may include the fonts with the document. In this case RiScript Pro can generate an Acorn version of the font from the data in the file and then that font can be used just like any other Acorn font. All such converted fonts are stored in a special directory inside the RiScript Pro application. Its a bit of a shame that RiScript Pro cannot convert Acorn fonts and store them inside the document, as this would result in smaller files that rendered faster on other machines.
RiScript Pro handles PostScript files as generated by the RISC OS printer drivers as its input. You cannot load a Draw file into RiScript and then export it as PostScript or PDF. You must first use a PostScript printer driver, configure it to print to file and then print from your application. This is the normal way that a user would make PostScript files to send off to a bureau. These could then be printed onto film and user by a commercial printed to print the job on a printing press. RiScript Pro allows you to check the file and see that it looks correct before you send it. This could in theory save a lot of money and heartache, as anyone who has ever had a PostScript file go wrong will testify.
So who would use RiScript Pro? Anyone who wants to transfer documents from an Acorn to a PC and keep all the formatting, fonts and graphics intact. Also anyone who makes PostScript files and want to check them before sending them to be printed. However if you are creating and viewing files commercially then you should be aware of a few problems that I experienced with RiScript Pro (home users are quite unlikely to encounter these glitches).
Firstly the preview of PostScript files on screen can be wrong in some circumstances, a file can appear to be faulty, but in fact be correct. Interestingly the Draw file export seems to always be correct, it is only the display on screen that is wrong. Secondly RiScript could not handle some PDF files generated by GhostScript, even though the files worked fine in Adobe Acrobat. This does raise the worry that RiScript won't be able to handle all the types of PDF file you can throw at it. Thirdly RiScript wouldn't work with some EPS files, items like AdobePackedArray caused the program to reject the file. I have passed details of these problems onto Cerilica and they have promised that they will be looked at in a future major upgrade planned for later this year.
Conclusion
If you want to view the odd PDF file then get hold of PDFView, after all it is free. If you are interested in generating PDF files to send to other people and you don't mind pulling your hair out and having a fast machine with plenty of RAM - and some technical programming skills - then get hold of GhostScript 5.50 and see if it works for you. If, like most people, you want an easy and quick way of viewing and generating files then buy a copy of RiScript Pro and just use it; it may not be perfect, but it's very, very close.
Product details
Product:
Cerilica RiScript PRO
Supplier
Cerilica Lt
Price:
£59 inc VAT
Address:
PO Box 4
Ross-on-Wy
HR9 7W
Tel:
01989 567350
WWW:
E-mail:
Aaron Timbrell
ÿÿÿÿVOLUME1/ISSUE2/PORTABLE/INDEX.HTM Volume 1, Issue 2, Portable World
Portable World
John Woodthorpe looks at the new netBook.
Ron
The biggest news in the world of RISC OS and portable machines has to be the announcement that RISCOS Ltd have reached agreement in principle with Psion Enterprise to allow them to produce RISC OS 4 to run on the netBook. The project is known as 'Ron', standing for 'RISC OS on netBook' and it's expected to be available later in the year. There's an The netBook
The netBook was released last year, although supplies have only just become more readily available. Being produced by Psion Enterprise it is really intended to be supplied to corporate customers, and Psion Computers produced their own version in the Series 7. The two machines look very similar, and they do indeed have a lot in common. Both run EPOC, have a StrongARM processor and share the same form factor. The differences are that the netBook is faster (191 MHz rather than the 130 MHz of the Series 7), has more memory (32 MB expandable to 64 MB as opposed to the 16 MB expandable to 32 MB of the Series 7) and crucially, loads its operating system from a CompactFlash card
The Series 7 has a conventional ROM-based version of the EPOC operating system, and is missing the vital boot loader that is present in the netBook. It may be possible to modify the Series 7 to run RISC OS, but that's very uncertain at the moment. The top priority is to get RISC OS running on the netBook. Not unnaturally that's annoyed those who bought a Series 7 before Ron was announced, but RISCOS Ltd can't be held responsible for picking the Psion Enterprise machine as it is designed to be able to load other operating systems. There's no certainty that Ron will actually appear, especially if very few people express interest in buying it, so the whole discussion may turn out to be academic anyway.
The netBook - an open and shut case
Like many RISC OS users, I was contemplating getting a Series 7, and had been waiting for months for Psion Computers to send me a loan machine for review. However I never got to the top of the waiting list, and when Ron was announced I looked around to buy a netBook. Being intended as a corporate product, that wasn't easy but I eventually found a dealer with stock and bought one for £882. RISC OS dealers such as Heretical Thoughts
The netBook is a superb machine, and I'm absolutely delighted with mine. I'm so pleased with the freedom it gives me to write without occupying the main family computer that I'm tempted to think heretical thoughts. I'd be really happy to be able run RISC OS on my netBook, but do I actually need it? In many ways I don't. Under EPOC, I have a capable word processor that produces files I can effortlessly convert to RTF on my Risc PC and load them into TechWriter Pro+ for final editing.
I also have a reasonable e-mail application, database, spreadsheet, diary, and Web browser. In fact I've got two browsers, including a port of Opera that's a lot faster and better than the built-in one.
The EPOC port of Opera which supports SSL, cookies, JavaScript and frames.
I also have access to a huge amount of software to do things like manage my mobile phone by IR, interact with a GPS receiver to help me navigate around Europe and the US, and plan the best routes within towns in the UK.
Using a GPS to see where I am.
I can't do any of those under RISC OS, and if I devote the netBook to RISC OS I will lose those abilities. I will also need extra storage, and that will probably be an IBM Microdrive as described o
E-mail and Web facilities (e.g. the ANT Suite
A diary such as Organiser
An HTML editor such as HTMLEdit
StrongEd (or Zap, as I don't want to get into a fight
A spreadsheet and database, or a combined package such as Fireworkz
Optionally, a DTP package such as Ovation Pro
Now that starts to get very hungry for the meagre memory available, especially as the internal RAM is dynamically allocated between storage and application memory. I'll also need some sort of synchronisation application to make sure that the files for all the applications are in step on both the desktop and portable machines. There's no way that I'll chose the netBook's 256 colour 640 x 480 display over my 17" monitor with 32,000 colours running at 1024 x 768. Hence no matter what software I run on the netBook, I'll always finish off my writing on the Risc PC whenever the rest of the family let me have time on it
If that's the case, why do I need a RISC OS portable? I can do many of the same things via EPOC combined with PsiFS, ChangePSI and Psiconv on my Risc PC. That approach will be a lot cheaper and can be done with a Series 7, 5mx, 5 or even a Revo
Please don't misunderstand me. I'm as committed to RISC OS as anyone else, and I confess to sometimes buying software that I don't make a lot of use of, just because I've wanted to support a RISC OS developer. I will also be frantically elbowing people out of the way to get hold of Ron to install on my netBook, but I'll continue to use EPOC because of the way it complements RISC OS so wonderfully
And So?
What I'm really saying is don't buy a netBook simply as a potential RISC OS machine. Buy one as a stunning EPOC machine that you may well be able to run RISC OS on later this year. Whatever you do though, don't discard EPOC as it has so much to offer RISC OS users. I plan to use both operating systems on the same machine to do the things that each one is good at. Next time, I'll look in more detail at how you can integrate an EPOC palmtop with a RISC OS desktop machine using the software that is available. If you can't afford a netBook at the moment, don't despair as EPOC really does offer you so much, and thanks to some talented RISC OS developers, much of that potential can already be realised. I certainly plan to keep my EPOC applications and data on one CompactFlash card and use another one for RISC OS. That would allow me to choose the right operating system for the right tasks
John Woodthorpe
ÿÿÿÿVOLUME1/ISSUE2/PUZZLE/INDEX.HTM Volume 1, Issue 2, Puzzle World
Puzzle World
Rex sets RISC World readers another cunning conundrum.
(This file is also available
Please send solutions
The winning solution for last issue's puzzle was sent in by Anne Parmenter of Chippenham